Synthetic standardized wave identifiers for representing and classifying entities

ABSTRACT

A method of identifying data items by wave blocks, each wave block comprising a set of unique features distinguishable from the unique features of other wave blocks. The unique features of the wave blocks are extracted and stored. A plurality of wave tags are defined, each comprising a set wave blocks. A mapping of the set of wave blocks to each wave tag is stored. A request for a wave tag to identify a data item is received and a wave tag is assigned to the data item. The wave tag is broadcasted and is captured by a capturing device, which extracts the unique features of the wave blocks. The wave tag is identified by comparing the extracted features of the wave blocks with the stored features of the plurality of wave blocks. The data item is identified from the mapping of the data item to the wave tag.

CLAIM OF BENEFIT TO PRIOR APPLICATIONS

This application is a continuation-in-part of U.S. patent applicationSer. No. 17/100,476, filed on Nov. 20, 2020, published as U.S. PatentPublication No. 2021/0150298. U.S. patent application Ser. No.17/100,476 claims the benefit of U.S. Provisional Patent ApplicationSer. No. 62/937,895, filed on Nov. 20, 2019. The contents of U.S. patentapplication Ser. No. 17/100,476, published as U.S. Patent PublicationNo. 2021/0150298 and U.S. Provisional Patent Application No. 62/937,895are hereby incorporated by reference.

BACKGROUND

Machine-readable labels are used to identify information about an item.One method for representing items is using an optical label such as aone-dimensional barcode or a matrix barcode such as Quick Response (QR)code. An optical label includes an optically readable code that may beread with an image input device such as a camera. The image may then beprocessed to identify the information contained in the optical label.

For example, an image of a QR code may be taken by a camera. The size ofthe code matrix may then be obtained based on the two-dimensional codethat is read out. The coordinates of data cells in the code matrix maythen be successively obtained and a judgement of ‘0’, ‘1’ (light, dark)content of the data cells may be made. Each of the data cells may thenbe converted into character information to identify the optical label'sinformation.

BRIEF DESCRIPTION OF THE DRAWINGS

The various embodiments of the present non-printable syntheticstandardized identifier tags now will be discussed in detail with anemphasis on highlighting the advantageous features. These embodimentsdepict the novel and non-obvious non-printable synthetic standardizedidentifier tags shown in the accompanying drawings, which are forillustrative purposes only. These drawings include the followingfigures, in which like numerals indicate like parts:

FIG. 1 is a functional diagram illustrating an example embodiment of awave tag lifecycle, according to various aspects of the presentdisclosure;

FIG. 2A is a functional diagram illustrating an example method ofgenerating wave blocks by using unique signature strings, according tovarious aspects of the present disclosure;

FIG. 2B is a functional diagram illustrating an example method ofgenerating wave blocks from existing wave file, according to variousaspects of the present disclosure;

FIG. 2C is a functional diagram illustrating an example method ofgenerating wave blocks from a specific wave file, according to variousaspects of the present disclosure;

FIG. 2D is a functional diagram illustrating an example method ofgenerating wave blocks from the same data that the wave blocks are goingto represent, according to various aspects of the present disclosure;

FIG. 3 is a functional diagram illustrating an example fingerprintingmethod according to prior art;

FIGS. 4A-4D illustrate several examples of the metadata and featuresdata stored for the signaling and body wave blocks, according to variousaspects of the present disclosure;

FIG. 5 is a functional diagram illustrating an example of generating awave tag from a specific combination of one or more wave blocks,according to various aspects of the present disclosure;

FIG. 6 illustrates is functional diagram illustrating an example of howwave blocks may be used to generate a wave tag, according to variousaspects of the present disclosure;

FIG. 7 is a functional diagram illustrating examples of severaldifferent schemas that may be used to assign wave blocks to wave tags,according to various aspects of the present disclosure;

FIGS. 8A and 8B illustrate example of wave tags generated based on twodifferent schemas, according to various aspects of the presentdisclosure;

FIG. 9 illustrates a sample wave block assignment table for constructingclassifying standardized wave tags, according to various aspects of thepresent disclosure;

FIG. 10A illustrates an example arrangement of wave blocks for aspecific organization, according to various aspects of the presentdisclosure;

FIG. 10B illustrates an example arrangement of wave blocks in wave tagsbased on the table of FIG. 10A to identify different items associatedwith a specific organization, according to various aspects of thepresent disclosure;

FIG. 11 is a schematic front view of a computing device that may includean application program for customizing wave tags and wave blocks,according to various aspects of the present disclosure;

FIG. 12 is a diagram illustrating an example of generating wave tagsusing a combination of wave blocks of different type, according tovarious aspects of the present disclosure;

FIG. 13 is a flowchart illustrating an example process for generatingnew, or using unassigned wave tags, based on parameters received from awave tag requestor, according to various aspects of the presentdisclosure;

FIG. 14 is a flowchart illustrating an example process for generatingnew, or using unassigned wave tags for a given application data,according to various aspects of the present disclosure;

FIG. 15 is a flowchart illustrating an example process for generating awave tag from the wave tag's descriptor, according to various aspects ofthe present disclosure;

FIG. 16 is a flowchart illustrating an example process for broadcastinga wave tag from a media file, according to various aspects of thepresent disclosure;

FIG. 17 is a flowchart illustrating an example process for broadcastinga wave tag by a wave pattern generator, according to various aspects ofthe present disclosure;

FIG. 18 is a flowchart illustrating an example process for integratingwave a tag media file in context, according to various aspects of thepresent disclosure;

FIG. 19 is a functional diagram illustrating an example extractionmethod using overlapping or nonoverlapping sliding windows, according tovarious aspects of the present disclosure;

FIG. 20 is a function diagram illustrating an example of a wave tagvalidation process using fingerprinting and the extracted wave blocksfrom the window slots of FIG. 19, according to various aspects of thepresent disclosure;

FIG. 21 is a function diagram illustrating an example of a wave tagsearching process using a combination of the extracted wave blocks,according to various aspects of the present disclosure;

FIG. 22 is a flowchart illustrating an example process for detection,extraction, and capture of wave tags and their mapping data fromstreaming signals, according to various aspects of the presentembodiments;

FIG. 23 is a flowchart illustrating an example process for loading awave tag receiver based on the type of the wave tags, according tovarious aspects of the present embodiments;

FIGS. 24A-24B are a flowchart illustrating an example process forextracting wave blocks and interpretating wave tags for each window slotin a buffered media file, according to various aspects of the presentembodiments;

FIG. 25 is a schematic front view of a computing device that may displaya user interface for managing wave tags, according to various aspects ofthe present disclosure;

FIG. 26 is a functional diagram illustrating an example of using thesystem of FIG. 2C for generating custom wave blocks, according tovarious aspects of the present embodiments;

FIG. 27 is a functional diagram illustrating an example use of privatewave tags, according to various aspects of the present embodiments;

FIG. 28A is a functional diagram illustrating several examples uses ofwave tags, according to various aspects of the present disclosure;

FIG. 28B is a functional diagram illustrating an example uses of wavetags, according to various aspects of the present disclosure;

FIG. 29 is a functional diagram illustrating an example process ofgenerating and capturing of the wave tags, according to various aspectsof the present disclosure;

FIG. 30 illustrates a functional diagram showing the life cycle of wavetags, according to various aspects of the present disclosure;

FIG. 31 is a functional diagram illustrating an example embodiment ofthe wave tag generator of FIG. 30;

FIG. 32 is a functional diagram illustrating an exemplary process ofassigning and using wave tags, according to various aspects of thepresent disclosure;

FIG. 33 is a functional diagram illustrating an example embodimentswhere a portion of the wave tags to the corresponding data items may bekept at the local capturing devices, according to various aspects of thepresent disclosure;

FIG. 34 is a functional diagram illustrating alternative approaches forimplementing different aspects of the present embodiments;

FIG. 35 illustrates the existing gap for representing and classifyingentities with reference to the Table 1, according to various aspects ofthe present disclosure;

FIG. 36 illustrates one embodiment of a Tonotag lifecycle, according tovarious aspects of the present disclosure;

FIG. 37 is a flowchart illustrating example processes ranging fromreceiving an original data to be represented by Tonotag to generatingthe Tonotag and eventually broadcast operation, according to variousaspects of the present disclosure;

FIGS. 38 and 39 are flowcharts illustrating example processes forreading and processing of Tonotags, according to various aspects of thepresent disclosure;

FIG. 40 illustrates the process of generating and capturing of theTonotag, according to various aspects of the present disclosure;

FIG. 41A is a schematic front view of a computing device that maydisplay a user interface with several options for selecting use cases ofwave tags, according to various aspects of the present disclosure;

FIG. 41B is a schematic front view of a computing device that maydisplay a user interface for configurating of the wave tags for varioususe cases and provide parameters for the wave tags, according to variousaspects of the present disclosure;

FIG. 41C is a schematic front view of a computing device that maydisplay a user interface for storing, sharing, and exporting wave tagsfor various use cases for future or immediate broadcasting, according tovarious aspects of the present disclosure;

FIG. 41D is a schematic front view of a computing device that maydisplay a user interface for handling a detected wave tag in a capturingdevice, according to various aspects of the present disclosure;

FIG. 41E is a schematic front view of a computing device that maydisplay a user interface for handling detected private wave tags in acapturing device, according to various aspects of the presentdisclosure;

FIG. 41F is a schematic front view of a computing device that maydisplay a user interface for managing active wave tag services forprojects and businesses, according to various aspects of the presentdisclosure;

FIG. 42A is a schematic front view of a computing device that maydisplay a user interface for using a wave tag as a sharing tool alongwith existing ones, according to various aspects of the presentdisclosure;

FIG. 42B is a schematic front view of a computing device that maydisplay a user interface for using a wave tag in a decryption orunzipping process, according to various aspects of the presentdisclosure;

FIG. 42C is a schematic front view of a computing device that maydisplay a user interface for using wave tags in a transferring mediafiles and example of using the wave tags in a messaging application asadditional way of sharing data, according to various aspects of thepresent disclosure;

FIG. 42D is a schematic front view of a computing device that maydisplay a user interface for using wave tag as a method of payment alongwith existing payment options and example of detecting a valid wave tagin capturing device to process a payment, according to various aspectsof the present disclosure;

FIG. 42E is a schematic front view of a computing device that maydisplay a user interface for using a wave tag as a method of login or astep in a multifactor authentication, according to various aspects ofthe present disclosure; and

FIG. 43 is a functional block diagram illustrating an example electronicsystem, according to various aspects of the present disclosure.

DETAILED DESCRIPTION

One aspect of the present embodiments includes the realization that theoptical labels include several shortcomings. One problem with theoptical labels is that the optical two-dimensional code itself should bevisible by an optical code reader, such as a camera or scanner, and by ahuman who is holding the code reader. Therefore, the optical codes areunsuitable for the cases where the codes cannot be seen. The barcode orQR-code are images printed by barcode or two-dimensional code printerson a printable surface. The optical label typically includes light anddark colors representing digital 0 and 1 values. The optical label hasto be optically scanned in order to convert the image pixel by pixel todigital values and store them in the memory of the reading device. Theoptical labels are, therefore, suitable when the printed image isvisible and may be scanned by an optical code reader device. However,there are many situations where the reading operation is inconvenient,repetitive, ambiguous, or not possible. Some of these situations aredescribed below.

A first situation where the optical labels are not practical is when theoptical label may become unreadable due to the distance between theprinted code and the reading device. This distance may be unavoidable orinconvenient. For example, an optical label displayed on a location suchas a billboard may be far away from a person, or may be too high to bescanned by the person's reading device.

A second situation may occur when showing the code is through anotherdevice that makes the code unclear or difficult to read. For example,showing the printed barcode or QR code inside a TV usually makes thecode blurry and unclear, and many attempts may be required in order toscan data.

A third situation is a predicted, or unpredicted temporary display ofthe printed optical label. The display may be limited to time, location,or other constraints. For example, showing a product's barcode in TV fora few seconds may make the optical reading operation impractical, sinceit may take time for people to scan the displayed printed code usingtheir reading device. The scanning operation may also be inconvenient,as the person may have to move in front of the TV.

A fourth situation is when the printed code should be scanned by a largenumber of reading devices and there are limited number of printed codesavailable. As an example, consider a case when a large number of personsattending a game in a stadium want to read a barcode. Either a largenumber of printed bar codes has to be distributed among the attendantsor it may take a lot of time for all persons to scan a limited number ofbarcodes.

A fifth situation is when the printed code should be simultaneouslyscanned by more than one reading device. For example, consider a roomfull of people where some people are closer and some are far away from aprinted optical label that maps to a contest in which everyone has tostart together for a fair competition. In this situation it may be hardor impossible to make sure everyone accesses the code at almost the sameexact time.

A sixth situation is when a printed optical code has to be accessible tomany persons, but the printed label may be placed in a limited number ofplaces. For example, in an airport with many terminals and hundreds ofgates, it is hard to place printed optical labels everywhere to beaccessed by everyone as an emergency code at a specific time.

A seventh situation is when showing a printed code is not possible. Forexample, audio devices, such as radio, loudspeakers, or similar devicesdo not have visually detectable outputs. In this situation clearly theexiting optical labels do not work

An eighth situation is when there is a need for every possible reader inthe environment to have access to an identifier in a printed code in ashort time period of time. For example, an optical label may represent apromotion that is valid for just a short period of time and there is aneed to expose the code to everyone in a large audience, in the shorttime period in an equal way. Using the printed version of identifiersrequires at least one copy of the code to be visible by all readers inthe short time period.

In addition to the above situations, there are other situations wherenone of existing printed codes including barcode and QR-code may beused. First, the printed codes are not designed for remote scan as boththe reading device and the printed code should be in front of eachother. The printed codes are not built to be detected from longerdistances such as several meters, several kilometers, or largerdistances. Second, the printed codes are multi-color images (e.g.,including black and white or other colors) which may be created based ona standard and contain some data. Thus, their standardized coderepresenting a product or data are in printed format and their readingdevices are built to read the printed code not non-printed codes.

Third, the printed codes and the corresponding reading devices obey onegeneral standard for all in their kind. Thus, anyone who has a readingdevice may be able to read the code and extract the corresponding data.The printed codes are, therefore, general purpose and are not suitablefor situations where the code should be readable by some but not allpersons. Fourth, the existing standardized printed codes are designed onthe assumption that they can be visible at least once from the front, orat least from an angle. The printed codes cannot be detected bynon-optical readers and the codes and are not suitable for applicationswhere the codes are not to be visible by everyone.

Fifth, the existing standardized printed codes are built on theassumption that they may be interpreted as soon as they are captured. Inother words, the printed codes are always mapped to the same entity andare not designed to be captured and interpreted at a later time. Forexample, a captured promotion may map to nothing for now even it iscaptured now but if it is captured now and interpreted later it would bemapped to a promoted item. Alternatively, the same captured promotionmay be mapped to different items in different periods of time in future.

There have been attempts in the past to use non-printed codes to addresssome of the shortcomings of the printed codes. However, the existingmethods of generating and using non-printed codes themselves suffer fromthe following shortcomings.

For example, in one method, a sound may be captured by a mobile deviceand may either be interpreted by the mobile device or may be sent to aremote server for interpretation. The mobile device may then perform afunction based on the interpretation of the captured voice. For example,in a movie theater, a sound such as “please turn off your phone” may beplayed through one or more speakers. The sound may be interpreted by themobile device or by the remote server and the mobile device may providea visual audio, or a tactile notification to a user to turn the offmobile device. Alternatively, the mobile device may be configured toautomatically turn off. This method, however, interprets and responds tothe sounds corresponding to spoken words and does not map synthetic,standardized identifier tags to different entities or differentfunctions. This method may also not be able to properly handle asituation where there is a conversation such as “I told her to pleaseturn off your phone,” where there is no intention for the listeners toturn off their phones. In addition, this method is for use in real timeand may not be able to handle capturing and storing sounds to beinterpreted and used at a later time (e.g., several hours or severaldays later).

Another method used in the past converts alphanumerical data intoinaudible tones for inclusion in the content. For example, each bit ofthe data may be represented by a tone pair. The content may bebroadcasted to a device to provide tangential information regarding thecontent, information regarding the current location of the user,information regarding a product or service to which the user may haveinterest, launch an application, or launch a website. In this method,the tones included in the content are always directly dependent on thecorresponding alphanumeric message. In other words, the data to beconveyed is converted to tones, the tones are embedded in a specificlocation in the content that is broadcasted. The broadcast is thencaptured, the embedded tones are extracted from their specific locationin the content, and are converted back to the corresponding data (e.g.,to the alphanumeric characters in a message or to an action to be takenby the receiving device). The method does not use standardizedidentifiers that are independent of the corresponding message. Themethod does not provide different interpretations of the same set oftones based on the identity of the receiving device nor does itdistinguish messages that should only be interpreted by certainreceiving devices based on the identity of the receiving devices. themethod is not capable of detecting tones that are included in randomplaced in the content.

The present embodiments, as described in detail below, solve theabove-mentioned problems by providing a novel synthetic non-printedidentifier wave pattern referred herein as wave tag. The wave tag is anon-printed standardized identification tag representing different itemsand/or different actions. The wave tags are highly distinguishable andmay obey predefined rules when created and may be recognized by preciseaccuracy during the capturing operation. The waves include mechanicalwaves, such as for example, and without limitations, acoustic waves suchas audible sound and ultrasound. The waves may include electromechanical(EM) waves, such as for example, and without limitations, visible light,infrared light, ultraviolet light, radio waves, microwaves, X rays, etc.

Each wave tag, in some embodiments, may include one or more wave blocks.Each wave block may represent all or a portion of the information ordata of the wave tag. The wave blocks may be detectable by a capturingdevice. The combination of the wave blocks may be interpreted by thecapturing device. The wave blocks, in some embodiments, may includesignaling wave blocks and/or body wave blocks. The signaling wave blocksmay include one or more signaling patterns that may trigger thecapturing device to extract the mapping data, to perform an operation,and/or to convey some information to help interpret the wave tag. Thesignaling wave blocks may include, for example, and without limitations,one or more starting wave blocks to indicate the start of a wave tag.The signaling wave blocks may include, one or more ending waves block toindicate the end of a wave tag, and/or one or more signaling blocks toprovide performance enhancements and scalability (e.g., to reducesearching delays by providing searching hierarchy, load balancinginformation, etc.).

The starting and ending signaling wave blocks may include unique wavecharacteristics and/or may be unique wave patterns. The wave tagstructure including the signaling wave blocks may provide additionalinformation that may help interpreting the wave blocks, may helpinterpreting the associated wave tag, and/or may convey some meaning oraction without a need to be decoded, reversed, or converted back todata. For example, the signaling wave blocks may indicate how many otherwave blocks are included in the wave tag, whether the data identified bythe wave tag represents a product, a service, a promotion, whichorganization or which person is the owner of the wave tag, etc. The waveblocks may include specific waves patterns that may be captured andfingerprinted. The fingerprints may be used to make a table lookup tofind a match with stored fingerprints of the existing wave blocks. Oncethe wave blocks of a wave tag are detected, the wave tag and the dataidentified by the wave tag may be found by a database search (e.g., by atable lookup).

The wave tags may be for public or private use. For example, someembodiments may include public (or general purpose) wave tags andprivate (or reserved) wave tags. A public wave tag may be captured andinterpreted by any reading device that is capable of reading the wavetag. A private wave tag may be associated to a particular owner orentity and may only be captured and/or interpreted by devices of thecorresponding owner or entity. Other reading devices may not be able tocapture and/or interpret the private wave tags.

Examples of wave tags may include acoustic wave tags, light wave tags,or arbitrary EM waves tags. Acoustic wave tags may include audible orinaudible sound tags and may specify the pattern, code, and/or data,using unique standardized sound block(s). The light tags may specify thepattern, code, and/or data using unique standardized blocks of syntheticlight patterns which may or may not be visible by humans but may bedetectable by an electronic capturing (or reader) device. The EM wavetags may specify the pattern, code, and/or data using uniquestandardized blocks of synthetic EM waves which may be detectable by anelectronic capturing device. Each class of wave tags may be detectableby a corresponding type of capturing device. For example, someembodiments may include devices and/or software for performing acoustictag capturing operations, light tag capturing operations, and EM wavetag capturing operation.

The remaining detailed description describes the present embodimentswith reference to the drawings. In the drawings, reference numbers labelelements of the present embodiments. These reference numbers arereproduced below in connection with the discussion of the correspondingdrawing features.

I. SYNTHETIC STANDARDIZED IDENTIFIER TAGS FOR REPRESENTING ANDCLASSIFYING ENTITIES

FIG. 1 is a functional diagram illustrating an example embodiment of awave tag lifecycle, according to various aspects of the presentdisclosure. With reference to FIG. 1, wave tags, such as the wave tags170 may be a distinguishable non-printed unique wave patternsrepresenting items or actions in the real world. The wave tags 170 maybe generated by a wave tag manager system 100, which may includehardware and/or software for generating the unique non-printeddistinguishable standardized waves tags 170.

The wave tags 170 may be non-printed standardized codes and may be in awave format such as, for example, and without limitations, acoustic waveformat, light wave format, or other types of mechanical and/or EM waveformats, etc. The wave tags 170 may include one or more wave blocks 180.The wave blocks 180 may be unique wave patterns and each wave tag 170may include a unique combination of one or more wave blocks 180. Wavetags, in some embodiments, may include wave blocks that are made ofdifferent type of waves. For example, and without limitations, a wavetag may include one or more sound wave blocks and one or more lightblocks. A wave block, in some embodiments, may include several differenttypes of wave patterns. For example, and without limitations, a waveblock may include both audible sound wave patterns and ultrasound wavepatterns. As another example, a wave block may include both sound andlight wave patterns, for example, the wave block may be a video clip.

The wave tag manager 100 may include a wave block generator 125, whichmay receive unique signatures 122 and may generate unique wave blocks180 from the unique signatures 122. The unique signatures 122 may be,for example, and without limitations, unique strings generated by one ormore hash generators, unique information extracted from existing wavefiles (e.g., music files, sounds, images, or videos recorded fromnature, etc.), unique information extracted from a particular wave fileprovided by a wave tag requesting device 155 (e.g., an electronic deviceassociated with an entity such as organization or a person who isrequesting one or more wave tags 170), or may be any unique code ordata.

The wave block generator 125 may receive the unique signatures 122 andmay generate the wave blocks 180 that may include, for example, andwithout limitations, distinguishable sound patterns, distinguishablelight patterns, or other type wave patterns with distinguishablefeatures. The wave tag manager 100 may include a feature extractor 130that may receive the wave blocks 180 and may extract the unique featuresof the wave patterns of each wave block 180. For example, and withoutlimitations, the unique features may be fingerprints 190 of the waveblocks 180 that may be extracted by a fingerprint generator as describedbelow with reference to FIG. 3. The unique features of the wave blocks180 may also be extracted by other techniques such as artificialintelligence, etc. The wave blocks 180 and their associated features(e.g., the fingerprints 190) may be stored in one or more databases (ortables) such as the wave tag index database 160.

The wave tag manager 100 may receive requests from wave tag requestingdevices 155 that may request one or more wave tags to identify itemssuch as products, services, phone numbers, website uniform resourcelocators (URLs), barcodes, international standard book numbers (ISBNs),etc. A wave tag requesting device 155 may send a request that mayinclude a set of data items 162, such as, for example, and withoutlimitations, data regarding the item(s) to be identified by therequested wave tag(s), information regarding the requesting organizationor person, a set of customization data for customizing the wave patternsof the requested wave tag(s), the number of the wave tags requested,etc.

The wave tag manager 100 may include a wave tag generator 135, which mayreceive the data items 162 and may generate one or more wave tags 170based on the data items 162 received from the wave tag requesting device155. The wave tag generator 135 may activate the wave block generator125 to generate one or more wave blocks 180 based on the data items 162received from the requesting device. In addition to, or in lieu ofactivating the wave block generator 125, the wave tag generator 135 mayretrieve one or more wave blocks 180 from the wave tag index database160.

The wave tag generator 135 may combine the wave blocks 180 based on aset of rules to generate one or more wave tags 180. The wave taggenerator 135 may generate a descriptor 168 for each generated wave tag170. The descriptor 168 may identify the wave blocks 180 used togenerate the wave tag 170, the data item identified by the wave tag 170,and/or the schema and the rules used for generating the wave tag 170,etc. The wave tag manager 100 may send the wave tag(s) 170 to therequesting device 155, for example, in the form of a media file.

In some embodiments, the wave tag manager 100 may allow some of therequesting devices 155 and/or some of the broadcasting devices 158 toreceive an application program (e.g., by downloading the applicationprogram from a website associated with the wave tag manager 100) togenerate the wave blocks and/or the web tags that are being used by anorganization or a person associated with the wave tag requesting device155. In these embodiments, instead of sending the wave tag(s) 170, thewave tag manager 100 may provide the application program, the rules,and/or the data required to generate the wave blocks and/or the wavetags to the requesting device 135 and/or the broadcasting device 158.

The wave tag requesting device 135 may send the associated wave tag(s)170 to a broadcasting device 158. The broadcasting device 158 may be abroadcasting entity such as a radio station, a TV station, a website, asatellite, etc., that may broadcast the wave tag(s) 170. The broadcastedwave tag(s) 170 may be detected by wave tag capturing (or reader)devices 140. The wave tag capturing devices 140 may be, for example, andwithout limitations, electronic devices such as mobile phones, tabletdevices, computing devices (e.g., desktop computers, laptop computers),etc., that may include software and/or hardware to receive the wavepatterns of the wave block(s) of the wave tags.

As described below, the wave tag(s) 170 associated with an organizationmay be public or private wave tags. The public wave tags may includesignaling wave blocks that may be used by any wave tag capturing device140 to map a detected wave tag to a corresponding item. The private wavetags may include signaling wave blocks that may be used by only a set ofauthorized wave tag capturing devices 140 that may map a detectedprivate wave tag into a corresponding item.

With further reference to FIG. 1, the wave tag capturing device 140 maycapture the wave blocks of the wave tags. For example, the wave tagcapturing device 140 may include an audio recorder (such as one or moremicrophones) to record broadcasted audio wave blocks or to record waveblocks played from a web site or a device. The wave tag capturing device140 may include a video recorder (such as a camera or a light sensor) torecord broadcasted videos or to record videos played from a website or adevice. For example, and without limitations, the video recorder mayrecord the on-off light patterns of flashlight (e.g., a mobile device'sflashlight) or the on-off light patterns of a set of emitting diodes(LEDs) from a distance.

In some embodiments, the wave tag capturing device 140 may recordsnippets of waves that are broadcasted or played. The wave tag capturingdevice 140 may send the captured wave snippets 111 as a sliding windowto the wave tag manager 100 in order to detect any wave blocks and/orwave tags in the wave snippets and to map the detected wave tags totheir corresponding data items.

The wave tag manager 100 may include a wave tag mapper 145. The wave tagmapper 145 may receive the captured wave snippets 111 from differentwave tag capturing devices 140 and may activate the feature extractor130 to extract features the wave snippets 110 (e.g., to generatefingerprints of the wave snippets). The wave tag mapper 145 may comparethe fingerprints extracted from the wave snippets 111 with thefingerprints stored in the wave tag index database 160 to find thematching wave blocks.

The wave tag mapper 145 may identify one or more wave blocks and maydetermine that a sequence of one or more detected wave blocks match awave tag identified by a descriptor stored in the wave tag indexdatabase 160. The wave tag mapper 145 may retrieve the data item 182corresponding to the matched wave tag from the wave tag index database160 and may send the data identified by the captured wave tag to thewave tag capturing device 140.

As described below, the wave tag recording device 140, in someembodiments, may be able to download an application program that maycapture the wave snippets 111. The application program may provide auser interface (UI) 147 to display the data items 181-183 thatcorrespond to different captured wave tags. When the UI 147 receives aselection of a data item, such as the data item 182, an action may betriggered (as shown by 148). The corresponding action details 195 may beprovided by the UI 147. For example, and without limitations, the actionmay include displaying information or promotion for a product,redirecting the UI to a website, calling a phone number, etc., dependingon the specific nature of the data identified by the corresponding wavetag.

In some embodiments, the application program used by the wave tagcapturing device 140 may allow extracting wave pattern features, etc.,in order to save the bandwidth between the wave tag capturing device 140and the wave tag manager 100. In some embodiments, a subset of dataitems represented by wave tags may be provided to the wave tag readingdevices 140 in order to minimize (or eliminate) the need for the wavetag capturing device 140 to communicate with the wave tag manager 100 toidentify the wave tags and/or to identify the data items represented bythe wave tags.

A. Wave Block Generation

Wave blocks are pool of media files with unique features (orfingerprints). Depending on the type of a wave tag, the wave blocks thatmake the wave tag may include audio signals, light signals, or othertypes of mechanical or EM wave signals. Several exemplary methods ofgenerating wave blocks are explained with reference to FIGS. 2A-2D.

FIG. 2A is a functional diagram illustrating an example method ofgenerating wave blocks by using unique signature strings, according tovarious aspects of the present disclosure. With reference to FIG. 2A,the synthesized wave files corresponding to the wave blocks may begenerated based on the unique signature strings 221-222. In the exampleof FIG. 2A, the unique signature strings 221-222 may be generated by aunique signature generator 210, which may include hardware and/orsoftware. For example, and without limitations, the unique signaturegenerator 210 may use different hash functions to generate random uniquestrings 221-222.

The wave block generator 125 may use each unique signature 221-222 togenerate a corresponding wave file 180. The wave block generator 125 maystore the wave blocks 180 and wave blocks metadata 185 in the wave tagindex database (or table) 160. The metadata 185 for a wave block 180 mayinclude, for example, and without limitations, the identification of theunique signature generation algorithm (e.g., the type of hash functionused to generate the unique signatures), the signature string used togenerate the wave block, the type of waves patterns (e.g., piano notes,light patterns, etc.) used to generate the wave block, theidentification of the rules 210 used to generate the wave blocks, anentity to which the wave block may be assigned (if the entity is knownat the time the wave block is generated), etc.

For example, for acoustic wave blocks, the wave file may be asynthesized audio file. As a non-limiting example, when the signaturestrings are character strings representing hexadecimal numbers, the waveblock generator 125 may associate a musical instrument s note (e.g., apiano note) with each character in a signature string in order togenerate an audio wave file. Some embodiments may generate more than oneunique wave file for each unique signature string. For example, the waveblock generator 125 may generate multiple unique wave files from thesame signature string, where the same character in the signature stringmay be associated with different notes from the same instrument (e.g.,by a different mapping of the notes to character) in different wavefiles. Alternatively, the same character in the signature string may beassociated with notes from different instruments in order to generatedifferent wave files. The main requisite for the wave blocks 180 is thatthe associated have to be distinguishable from each other. In general,the wave block generator 125 may use different pattern generation rules210 to generate the wave blocks 180.

When the wave files 180 include light waves, the same logic may beapplied to generate unique pattern of light, for example, and withoutlimitations, as a video file, or stream, or LED on-off pattern, etc. Forother types of wave files, such as, for example, and withoutlimitations, ultrasound, infrared, ultraviolet, microwaves, radio waves,etc., the wave blocks may be generated to include unique andidentifiable features, such as identifiable frequencies, different wavespatterns, etc. It should be noted that the unique signatures 221-222 mayhave no correlation with a data item that may be identified by a wavetag generated from the wave blocks 180. Instead, such a data item may beidentified by a mapping operation from the wave tag to the data item, asdescribed above with reference to FIG. 1.

As shown in FIG. 2A, the feature extractor 130 may extractdistinguishable features from each wave file 180 and may store thedistinguishable features 190 in order to be used for detecting the waveblocks when the wave blocks are broadcasted as a part of wave tags, asdescribed above with reference to FIG. 1. For example, and withoutlimitations, when the wave blocks 180 are audio files, the features maybe extracted using different fingerprinting methods and/or artificialintelligence methods. The data regarding the wave blocks features 190and the waves blocks metadata 185 may each be stored in the same or inseparate tables.

A fingerprinting algorithm is a procedure that maps an arbitrarily largedata item (such as a computer file) into a much shorter bit string, afingerprint, that uniquely identifies the original data for allpractical purposes just as human fingerprints uniquely identify peoplefor practical purposes. This is also referred to as file fingerprinting,data fingerprinting, or structured data fingerprinting.

For example, when the wave file is an acoustic file, the acousticfingerprint of the wave file may be a condensed digital summary (or afingerprint) that is deterministically generated from the audio signals,which may be used to identify a played audio sample or may be used toquickly locate a matching audio file in an audio file database.

FIG. 3 is a functional diagram illustrating an example fingerprintingmethod according to prior art. With reference to FIG. 3, the extractmodule 305 may extract features from the audio files 311-313. Theextracted features 321-323 may be stored in a fingerprint database 330.The fingerprint database may also store either the audio clips files311-313 or a link to them.

When an audio stream 340 is played, the extract module 350 (e.g., in adevice that is receiving the audio stream 340) may extract features 355from the audio stream 340. The match module 360 compare the extractedfeatures 355 with the features (or signatures) 321-323 that are storedin the fingerprint database 330. When a signature match is found, thecorresponding audio file 370 may be identified.

Shazam is one example of an acoustic fingerprinting algorithm that isdeveloped and commercially deployed as a flexible audio search engine.The algorithm is noise and distortion resistant, computationallyefficient. The algorithm is capable of quickly identifying a shortsegment of music captured through a microphone in the presence offoreground voices and other dominant noise, and through voice codeccompression, by searching a database of over a million tracks. Thealgorithm uses a combinatorically hashed time-frequency constellationanalysis of the audio, yielding unusual properties such as transparency,in which multiple tracks mixed together may each be identified.Furthermore, for applications such as radio monitoring, search times onthe order of a few milliseconds per query are attained, even on amassive music database.

There are many other acoustic fingerprinting methods and algorithm thatmay be used by the present embodiments for identifying acoustic waveblocks. A similar method may be used to extract features (or generatefingerprints) from, and detect, wave blocks that are light waves orother type of wave files. For example, Content ID is another systemdeveloped by Google that creates an ID file for audio and video materialand stores it in a database. When a video is uploaded to an associatedwebsite, the video is checked against the database, and flagged if amatch is found. The present embodiments are independent of usingspecific fingerprinting or other alternative ways to distinguish audio,video, or other wave signals.

FIG. 2B is a functional diagram illustrating an example method ofgenerating wave blocks from existing wave file, according to variousaspects of the present disclosure. With reference to FIG. 2AB, randomlyor selectively. all or part of existing wave files 250 (e.g., andwithout limitations, audio files, video files, images, etc.) may beselected from different sources 231-232 for wave block generation. Thewave block generator 125 may use parts or all of the wave files 250 togenerate the wave blocks 180 based on a set of pattern generation rules210. The feature extractor 130 may extract features from the wave blocksand may ensure that the extracted features of a wave block is unique(e.g., by comparing them with the wave block features already stored inthe wave tag index database 160 to make sure the features are uniqueprior to storing the wave blocks and their associated metadata in thewave tag index database 160.

FIG. 2C is a functional diagram illustrating an example method ofgenerating wave blocks from a specific wave file, according to variousaspects of the present disclosure. With reference to FIG. 2C, a specificfile 270, for example and without limitations, a file from which aclient may wish to generate wave blocks and wave tags, may be used togenerate wave blocks. The file 270 may be an acoustic file, an image, avideo file, any other type of wave files.

As a non-limiting example, the wave file 270 may be an audio file thatmay be recorded from a nature, from a person (e.g., a singer singing ora person speaking), a music file, etc. The wave block generator 125 mayuse all, or portions 271-274 of the wave file 270 to generate one ormore wave blocks 180 based on a set of pattern generation rules 210.

The feature extractor 130 may extract features from the wave blocks andmay ensure that the extracted features of a wave block is unique (e.g.,by comparing them with the wave block features already stored in thewave tag index database 160 to make sure the features are unique priorto storing the wave blocks and their associated metadata in the wave tagindex database 160.

FIG. 2D is a functional diagram illustrating an example method ofgenerating wave blocks from the same data that the wave blocks are goingto represent, according to various aspects of the present disclosure.With reference to FIG. 2D, the data item 285 may be the same data thatthe generated wave blocks and their associated wave tag(s) are going torepresent. For example, the data may be a unique identifier, such as,for example, and without limitations, an ISBN as shown in FIG. 2D, aphone number, a web address, a bar code, a QR code, or any other itemfor which a client may want to generate wave blocks and wave tags. Thedata may also be what is referred herein as short data. Short data maybe a brand name, a moto or slogan, a sentence, or any data item that awave tag owner may wish to be used as a signature for generating waveblocks and to be identified by a wave tag created from a combination ofone or more of the resulting wave blocks.

One advantage of the short data or unique identifier wave tags is thatthe wave tags may be reserved or generated to represent specific publicdata, such as brand names, ISBNs, domain names, company names, etc.Therefore, when wave tags are requested to be used as public wave tag torepresent a unique identifier or short data, the same wave tags may berepeatedly used without assigning a new unassigned wave tags for eachrequest received for the same data. For example, some embodiments mayuse only one public wave tag for the same phone number anytime it isrequested. One way is to reserve specific schemas and/or signalingblocks to represent short data or unique identifiers as a standard andrepresent these public data by using them. Any time for example aspecific phone number requested, a wave tag from this standardized wavetags may be provided instead of reserving a new random wave tag fromunassigned wave tags. Using this approach, redundant wave tags may beavoided. For example, if the same phone number is requested a thousandtimes as a public wave tag, only one wave tag may be used instead of athousand different wave tags representing exactly the same data.

The method used by the wave block generator 125 may be similar to themethod described above with reference to FIG. 2A, except that thesignature used to generate the wave blocks is not a randomly generatedunique signature and is rather the same data or transformation of data(e.g., to ensure uniqueness of wave tags) that is going to berepresented by the wave blocks and their associated wave tag(s). Inother words, the data item 285 may be a meaningful item rather than arandomly generated string. The wave block generator 125 may generateseveral wave blocks from the same data item 285, each with uniquefeatures that are distinguishable from the other wave blocks. Othercomponents of FIG. 2D, may be similar to the corresponding components ofFIGS. 2A-2C.

Although one wave block generator 125 is shown in FIGS. 2A-2D, it shouldbe understood that different wave block generators 125 may be used,depending on the wave blocks' wave type. For example, a wave blockgenerator 125 may be used to generate sound wave blocks, a wave blockgenerator 125 may be used to generate light wave blocks, a wave blockgenerator 125 may be used for each different type of mechanical waveblocks or EM wave blocks.

It should be understood that the methods of generating wave blocks withreference to FIGS. 2A-2D are given as example and other embodiments mayuse other methods using different signatures or different features togenerate pools of wave blocks. Furthermore, some embodiments may usemultiple pools of wave blocks. These embodiments may, therefore, includethe same wave block in different pools but not in same pool. This methodmay help in both search performance and wave block scalability.

B. Generation of Wave Tags from Wave Blocks

Some embodiments may provide wave tags as a combination of one or morewave blocks to represent different items and/or different actions. Thewave tags are a non-printed standardized identification tagsrepresenting different items and/or different actions. The wave tags arehighly distinguishable and may obey predefined rules when created andmay be recognized by precise accuracy during the capturing operation.

Each wave tags, in some embodiments, may include one or more waveblocks. Each wave block may represent all or a portion of theinformation or data of the wave tag. The wave blocks, in someembodiments, may include signaling wave blocks and/or body wave blocks.The signaling wave blocks may include one or more signaling patternsthat may trigger the capturing device to perform an operation and/or mayconvey some information to help interpret the wave tag, and/or toextract the mapping data. The signaling wave blocks may include, forexample, and without limitations, one or more starting wave blocks toindicate the start of a wave tag, one or more ending waves block toindicate the end of a wave tag, and/or one or more signaling blocks toprovide performance enhancements and scalability (e.g., to reducesearching delays by providing searching hierarchy, load balancinginformation, etc.).

In some embodiments, the first wave block in a wave tag may be one ormore starting signaling wave block that includes wave patterns toindicate the start of the wave tag. The wave tag structure, includingthe signaling wave blocks, may provide additional information that mayhelp interpreting the wave blocks, may help interpreting the associatedwave tag, and/or may convey some meaning or action without the need tobe decoded, reversed, or converted back to data. The wave tag mayinclude one or more ending signaling wave blocks that may include wavepatterns to indicate the end of the wave tag. The starting and endingsignaling wave blocks may include unique wave characteristics and/or mayinclude unique wave patterns.

FIGS. 4A-4D illustrate several examples of the metadata 180 (FIGS.2A-2D) and features data 190 stored for the signaling and body waveblocks, according to various aspects of the present disclosure. Withreference to FIG. 4A, data stored for the starting signaling wave blocksmay include the identification of the wave block 401, the wave blockfingerprint 402, and/or the type data 403 identified by thecorresponding wave tag.

The wave block fingerprint 402 may include the unique features that areextracted from wave blocks in order to distinguish them from other waveblocks. The extracted features may be included in column 402 oralternatively, column 402 may include a link or a pointer to a file thatstores the extracted features.

The data type 403 identified by the corresponding wave tag may be usedfor search optimization and performance enhancement. For example, astarting signaling wave block with a fingerprint S2 419 may indicatethat the wave tag that includes this starting wave block is used toidentify an item that is a URL. Therefore, when a starting wave blockwith the fingerprint S2 is detected by a capturing device, the search toidentify the corresponding body wave blocks features may be limited to acertain table, a certain tables, and/or a certain field that store theinformation about the wave tags that are mapped to URL.

With reference to the table 400, the data type identified by the wavetags that correspond to different starting signaling wave blocks may bedifferent products 421, may be specific types items 422-426, may bespecific items that belong to different entities (427-428), may be shortdata 429, or any item 430 not included in categories 421-429.

It should be noted that the items shown in the table 400 are examplesand different embodiments may have starting signaling wave blocks thatmay be used in wave tags that identify different data types. Someembodiments may have more or fewer types of starting signaling blocksthan shown in the table 400.

With reference to FIG. 4B, data stored for the body wave blocks in table440 may include the identification of the wave block 441 and the waveblocks fingerprint 442. The wave blocks fingerprint 442 may include theunique features that are extracted from the wave blocks in order todistinguish them from other wave blocks. The extracted features may beincluded in the column 442 or alternatively, the column 442 may includea link or a pointer to a file that stores the extracted features. Itshould be noted that the body wave blocks shown in the table 440 do notcarry the data that is identified by the corresponding wave tag. Rather,the extracted features from the wave patterns in the wave blocks of awave tag that is using one or more wave blocks from the table 440 may beused to search a database to find a matching wave tag, which is thenmapped to a data item (e.g., the identification of a URL, a phonenumber, a bar code, etc.) that is wave tag is used to indirectlyrepresent.

With reference to FIG. 4C, the table 450 may be generated by the waveblock generator 125 of FIG. 2D, where the data represented by the wavetag is used as the signature to generate the body wave blocks. In theexample of FIG. 4C, each of the wave blocks 454-456 are generated,respectively, from the data items 457-459 that the wave blocks aregenerated to identify. The body wave blocks shown in the table 450 areexamples of what is referred herein as short data.

With reference to FIG. 4D, data stored for the ending signaling waveblocks may include the identification of the wave block 471, the waveblock fingerprint 472, and/or the type data 473 identified by thecorresponding wave tag. The wave block fingerprint 472 may include theunique features that are extracted from wave blocks in order todistinguish them from other wave blocks. The extracted features may beincluded in column 472 or alternatively, column 472 may include a linkor a pointer to a file that stores the extracted features.

The data type 473 identified by the corresponding wave tag may be usedfor search optimization and performance enhancement. For example, tomatch an ending signaling wave block with a corresponding startingsignaling wave block. With reference to the table 470, the data types481-490 identified by the wave tags that correspond to different endingsignaling wave blocks may correspond to the data types of thecorresponding starting signaling wave blocks. It should be noted thatthe items shown in the table 470 are examples and different embodimentsmay have starting signaling wave blocks that may be used in wave tagsthat identify different data type. Some embodiments may have more orfewer types of ending signaling blocks.

FIG. 5 is a functional diagram illustrating an example of generating awave tag from a specific combination of one or more wave blocks,according to various aspects of the present disclosure. A wave tag maybe a specific combination of one or wave blocks. In the example of FIG.5, the wave tag 500 may include the starting signaling wave block 421,the body wave blocks 402 and 403, and the ending signaling wave block404. The wave blocks listed in tables 510, 520, and 530 may includesimilar data as described above with reference to FIGS. 3A-3D and may begenerated by the wave block generator 1250, described above withreference to FIGS. 2A-2D.

FIG. 6 illustrates is functional diagram illustrating an example of howwave blocks may be used to generate a wave tag, according to variousaspects of the present disclosure. The example of FIG. 6 shows how anentity such as a bar code may be classified and represented by anon-printed wave tag. A barcode 610 may be used for representingdifferent entities according to a standard. A barcode may includemultiple sections 611-613 to describe a specific product. For example,the identification number 611 may represent an organizationidentification, the item number 612 may represent a product in thatorganization, and the check digit 613 may be used to make sure a barcodereader may correctly read the barcode and the barcode is a validbarcode.

The present embodiments may use unique signaling and body wave blocksfrom signaling and body wave block tables. Different wave blocks ordifferent combination of wave blocks may be used to represent adifferent number for each section in barcode. For example, in FIG. 6,the wave block 621 may identify the organization, the wave block 622 mayidentify the entity in that organization, and the wave block 623 may beused to increase the accuracy of detecting the wave tag 620 as a validwave tag and find the right match in the fingerprint database with moreaccuracy. Since the wave tag 620 does not carry the data and is mappedto an entity in a database such as the database 660, any other wave tag,such as the wave tag 630, which is not assigned to an entity may be usedinstead of the wave tag 621 to represent the barcode 610.

When the fingerprint of a wave tag 620 is taken as the fingerprint ofthe three wave blocks 621-623, the unique fingerprint of the wave tag620 is generated. The wave tag 620 may, therefore, be non-printedsynthetic identifier that may represent an entity in organizationsimilar to a what a barcode does.

1. Example of Different Types of Wave Tags

One example of the type of wave tags of the present embodiments is asound tag. When the wave blocks and the wave tags are made of sound wavepatterns, it is preferable that the predetermined signaling tones of thewave blocks have a pattern that may be distinguishable from othersounds, voices, or noises in the environment. The wave blocks mayinclude customized wave patterns to be used in different context anddifferent environments (e.g., as described below with reference to FIG.11).

The sound wave blocks may have different tones which represent all orpart of information or data for interpreting the corresponding soundtag. The combination of different sound wave blocks with different tonesor occurrence represent fundamental building blocks of the sound tags.The characteristics of the sound wave blocks, including but not limitedto fastness of the sound wave blocks, may change the interpretation ofthe corresponding sound tag.

When the same sound wave tags occur multiple times, they may represent adifferent sound tag. The interpretation of the sound tags may,therefore, change by changing the tone, the occurrence and/or thefastness of the corresponding sound wave blocks. The sound tags mayinclude one or more signaling sound wave blocks. The signaling soundwave blocks may include, for example, and without limitations, startingsignaling wave blocks and ending signaling wave blocks. The rest of thesound wave blocks in a sound tag may represent the data or body sectionof the sound tag. There may be one or more series of timing tonesincluding specific sound patterns which repeat many times for a soundtag. The timing tones may be used to ensure that an actual sound tag isencountered.

Another example of the wave tags of the present embodiments is a lighttag. In a light tag, it is preferable that the predetermined signalingwaves have a pattern that are distinguishable from other lights in theenvironment. The light tags may include light wave blocks that may havedifferent frequencies, patterns, or characteristics which represent allor part of information or data for interpreting the corresponding lighttag.

Among the characteristics that may generate unique light wave blocksrepresenting different interpretation are wavelength, color, spectra orfrequency of occurrence, or order of appearance of different type oflight patterns. The combination of different light wave blocks withdifferent tone or occurrence represent fundamental building blocks oflight tags. A light tag may include one or more signaling light waveblocks including but not limited to start signaling light wave blocksand end signaling light wave blocks. The rest of the light wave blocksin a light tag may represent data or body section of the light tag. Thelight tags are preferably made of light patterns in the visible lightspectrum in order that they may be captured and analyzed by devices suchas camera or light sensors.

There may be a series of timing tones including specific light patternsor light types which may repeat many times for a light tag. Timing tonesmay be used to ensure that an actual light tag is encountered. Lighttags may be stored as media files. For example, recording a lightpattern using camera as one or multiple videos or images showing thelight pattern in multiple scene may be used as media files to beprocessed and capture the light tags. These media files may be used tobroadcast or generate the light pattern corresponding the light taglater when needed. For example, light tags may be short videos withunique visual patterns. Another example to represent a light tag isusing a light tag descriptor. The descriptor for example may be a simpletext file showing on-off pattern for an LED through time. Another way ofcreating light tag media files with unique light pattern artificially,is to generate different combination of colors for each light tag usingvideo or consequence image. For example, different frame rates maycreate different light tags.

Other types of mechanical or EM wave tags may be similar to the soundtags or light tags but they are usually unique by having different wavecharacteristic such as different frequencies. These wave tags may notnecessarily work in wavelengths detectable by humans. These wave tagsmay be created from wave blocks, which may have different tones orcharacteristics. Among the characteristics that may generate unique wavetags representing different interpretation, are wavelength or frequencyof occurrence or combination and order of appearance of different typeof wave patterns. There may be a series of timing wave tones includingspecific wave pattern or wavelengths which may repeat many times for awave tag. Timing tones may be used to ensure that an actual wave tag isencountered.

2. Wave Tag Schemas

Some embodiments may use several different schemas for assigning waveblocks to a wave tags. A particular schema may be selected based ondifferent criteria, such as, for example, and without limitations, howmany wave tags may be needed for a specific entity (e.g., wave tagsrequested by a corporation, by an educational institution, by agovernmental institution, by private organizations, by individualpersons, etc.), how many wave blocks may be needed to identify certaintypes of data, how many signaling blocks may be needed to facilitatedetection, performance optimization, search optimization, etc.

FIG. 7 is a functional diagram illustrating examples of severaldifferent schemas that may be used to assign wave blocks to wave tags,according to various aspects of the present disclosure. with referenceto FIG. 7, the table 700 shows different schemas 701 that may be usedfor assigning wave blocks 702-704 to wave tags. Each row of the table700 also specifies the number of available wave blocks for each type ofwave block 702-704. The table 700 also specifies the total possiblecombination 705 of wave blocks for each schema.

For example, the schema 711 is 1-1-1, indicating that wave tags that aregenerated based on this schema should assign one wave block as thestarting signaling wave block, one wave block as the body wave block,and one wave block as the ending signaling wave block. The schema 712 is1-1-0, indicating that wave tags that are generated based on this schemashould assign one wave block as the starting signaling wave block, andone wave block as the body wave block. This schema does not require andending signaling wave block.

The schema 713 is 1-0-0, indicating that wave tags that are generatedbased on this schema should assign one wave block as the startingsignaling wave block. This schema does not require body wave blocks orending signaling wave blocks. The schema 714 is 2-2-2, indicating thatwave tags that are generated based on this schema should assign two waveblock as the starting signaling wave block, two wave block as the bodywave block, and two wave block as the ending signaling wave block. Thetotal combination of the wave blocks may be calculated by using thecombination formula in Eq. (1):

$\begin{matrix}{{C\left( {n,r} \right)} = {\begin{pmatrix}n \\r\end{pmatrix} = \frac{n!}{\left( {r{!{\left( {n - r} \right)!}}} \right)}}} & {{Eq}.\mspace{11mu}(1)}\end{matrix}$

where n is the number of objects, r is the number of samples, and ! isthe factorial operator. The value of combinations for each cell of thetable may be found by inserting the number of the objects specified bythe schema and the number of available samples in equation EQ. (1). Thetotal number of combinations may be found by multiplying the non-zerovalues (as shown in column 705) to reach to the value indicated incolumn 706.

As shown, if the number of objects in the schema changes, the totalnumber of possible combination may also change. For example, the schemas711 and 714 have the same number of available samples for each type ofwave block but the schema 714 requires two wave blocks for each type ofwave block while the schema 711 require only one. As a result, the totalnumber of possible combinations for the schema 714 is much larger thanthe total number of possible combinations for the schema 711.

The total number of possible combinations in schema may also changebased on the available samples for each type of wave blocks. Forexample, if the number of available samples for the starting signalingwave blocks 702 for the schema 711 is increased from 5 to 50, the totalnumber of possible combination changes from 500,000 to 5,000,000.

The wave tags are, therefore, combinations of unique wave blocks, whichmay be signaling and/or body wave blocks. Each wave tag may be createdby interleaving signaling and body wave blocks in different waysaccording to a particular schema.

FIGS. 8A and 8B illustrate example of wave tags generated based on twodifferent schemas, according to various aspects of the presentdisclosure. With reference to FIG. 8A, the wave tag 800 may be generatedbased on the schema 714 of FIG. 7, namely a 2-2-2 schema. As shown inFIG. 8A, the signaling wave blocks 801 include two starting wave blocks811-812. The body wave blocks 802 include two wave blocks 813-814 andthe signaling wave blocks 803 include two ending wave blocks 815-816

With reference to FIG. 8B, the wave tag 850 may be generated based on a1-1-1-2-1 schema. The wave tags generated based on this schema shouldhave one starting signaling wave block 831, followed by one body waveblock 832, followed by one signaling wave block 833, followed by twobody wave blocks 834-835, followed by one ending signaling wave block836. The signaling wave block 833 may be instead at the middle of thewave tag 850 may be used to provide performance enhancements andscalability (e.g., to reduce searching delays by providing searchinghierarchy, load balancing information, etc.).

2. Assignment of Wave Blocks to Wave Tags

FIG. 9 illustrates a sample wave block assignment table for constructingclassifying standardized wave tags, according to various aspects of thepresent disclosure. Table 900 shows the assignment of starting signalingwave blocks 901, body wave blocks 902-904, and ending signaling waveblocks 905 to different entities.

With reference to FIG. 9, the starting signaling wave block S1 911 alongwith the specific ending signaling wave block E1 912 are reserved torepresent short data entities 913. Therefore, anytime the two signalingwave blocks 911 and 912 are present in a wave tag, the wave tag is ashort data wave tag. The wave block Sb 921 may be reserved fororganization A 922. Therefore, anytime the starting signaling wave block921 is present in a wave tag, the wave tag is known to belong toorganization A 922 and based on the rest of the wave blocks in the wavetag, a search may be made in a particular database or a particular areaof a database that stores the mapping information for organization A'swave tags in order to find the item identified by the wave tag.

With further reference to table 900, the combination of the startingsignaling wave block Sd 931 and the ending signaling wave block Ed 932may be reserved for organization B 933. However, as shown in table 900,not all wave tags that include the starting signaling wave block Sd maybelong to organization B. Instead, wave tags that include the startingsignaling wave block Sd 931 and the ending signaling wave block Ep 941may belong to organization C 942. The wave tags of organization B 933,therefore, has to include both the Sd and the Ed signaling wave blocksin order to belong to organization B.

FIG. 10A illustrates an example arrangement of wave blocks for aspecific organization, according to various aspects of the presentdisclosure. With reference to FIGS. 10A-10B, the table 1000 may have asimilar structure as the table 90 of FIG. 9. With reference to FIG. 10A,the wave tag arrangement table 1000 may be used, for example, by theorganization A 922 of FIG. 9 to represent the organization's entities.The structure shown in table 1000 allows organization A to define aninternal assignment of the wave tags to different entities.

Since the starting signaling wave block Sb 921 is reserved for theorganization A 922, the organization A 922 may, for example, decide toassign body wave block B6 1011 and the ending signaling wave block E61012 to wave tags that identify their products 1013. Therefore, wheneverthe body wave block B6 1011 and the ending signaling wave block E6 1012are present after the starting signaling wave block Sb 921 in a wavetag, the wave tag is known to identify a product of organization A.

With further reference to table 1000, whenever the body wave block B321021 is present after the starting signaling wave block Sb 921 in a wavetag, the wave tag is known to identify a URL of organization A. Theinternal or intra-classification of the present embodiments alloworganizations to integrate the capturing embodiment and decide whichparts of the mapping table are required inside the organization'sinternal hardware or software or which parts to acquire as plugin so theorganization may be able to do the mapping in real-time withoutaccessing remote servers.

FIG. 10B illustrates an example arrangement of wave blocks in wave tagsbased on the table of FIG. 10A to identify different items associatedwith a specific organization, according to various aspects of thepresent disclosure. With reference to FIG. 10B, table 1050 showsassignments of wave block to different wave tags 1051 to identifyorganization A's items 1052. The wave blocks used to generate the wavetags 1051 are assigned based on the organization specified in table 1000of FIG. 10A.

A technical advantage of using signaling wave blocks is varioussignaling wave blocks may be used for different schemas. The signalingwave blocks themselves may, therefore, be indicative of the type of wavetags and the schema that is used. For example, the signaling wave blocksused for the 1-1-1 schema may be clearly distinguishable from thesignaling wave blocks used for the 1-0-0 schema. Another technicaladvantage of the present embodiments' wave tag structure and assignmentstrategy is that if there are two separate isolated organizations andthere are no conflict or mutual entity between the two organizations,exactly same wave tags may be used for different internal entities oftwo organizations.

Some embodiments may provide a user interface for customizing the wavetags and wave blocks for different entities such as organizations orindividuals. FIG. 11 is a schematic front view of a computing devicethat may include an application program for customizing wave tags andwave blocks, according to various aspects of the present disclosure.With reference to FIG. 11, the user interface (UI) 1100 may be used toselect default or desired customized wave blocks to create wave tags foran entity to be used in different context.

There may be built in wave blocks that are included whenever any waveblock is created. The wave blocks may be used in global or local wavetags or just for quality assurance. There may be existing themes 1110for the wave blocks. For example, an entity may want one of its wavetags to sound like water or piano or rock music, etc. The entity may usean existing theme for generating wave blocks (e.g., as described abovewith reference to FIG. 2B). The UI 1100 may allow the upload (as shownby 1120) of media files including, but not limited to, video, audio, ortext files. Some embodiments may generate wave blocks from the uploadedfiles as the building blocks for the wave tags (e.g., as described abovewith reference to FIG. 2C).

The UI 1100 may provide an option 1130 to use mapping data as signaturestring for creating wave tags (e.g., as described above with referenceto FIG. 2D). The UI 1100 may provide an option 1040 for using randomhash string as signature for creating unique media files (e.g., asdescribed above with reference to FIG. 2A).

As shown, the UI 1100 may also provide an option 1150 for the entitythat is requesting the wave blocks and wave tags to provide itsinformation along with the dataset 1160 containing information such asthe instruction or description of their desire assignment strategy andthe mapped data. The UI may also provide options 1180 for differentverification methods to be used as parameters in access management andprivate or public wave tags. The example user interface 1100 of FIG. 11shows customization of acoustic wave blocks and wave tags. Someembodiment provide similar user interfaces for other types of mechanicalor EM wave blocks and wave tags, such as light wave blocks wave tags,etc.

FIG. 12 is a diagram illustrating an example of generating wave tagsusing a combination of wave blocks of different type, according tovarious aspects of the present disclosure. With reference to FIG. 12,the wave tag M 1201 my include of a sound wave block as startingsignaling wave block (sound block S 1211), a light wave block (lightwave block L 1212) as body, and a Bluetooth wave block (Bluetooth waveblock W 1213) as the ending signaling wave block.

As shown, the broadcaster device (device B 1221) may use Bluetooth 1231to broadcast the wave block W 1213, may use the flashlight 1232 tobroadcast the light block L 1212, and may use the speaker 1233 tobroadcast the sound block S 1211 for the wave tag M 1201. The device R1222 may receive the sound stream using the microphone 1241, may receivethe flashlight pattern using the camera 1242, and may receive theincoming Bluetooth wave signals using the Bluetooth receiver 1243. Asliding window, as described below with reference to FIG. 19, may beused to process the incoming stream to extract the wave blocks.

The wave block W may be reserved as the starting signaling block for themix nature wave tags and the sound Block S may be reserved as the endingsignaling wave block for mix nature wave tags. Once the device R 1222extracts the wave block W 1213 through the Bluetooth 1243 and extractsthe sound block S 1212 through the microphone 1241, device R 1222 maysearch in for the light blocks 1212 as the wave tag's body blocks.

The wave tag (S-L-W 1261) may be reserved for the phone number408-999-8888 1272 in this example. Different signaling or body waveblocks may represent different data or actions. For example, extractingthe light block N instead of the light block L for the wave tag S-N-W1262, may map to a different phone number 555-555-5555 (item 1272). Asdescribed above, the signaling wave blocks may describe the schema, thestructure, and/or the method of interpretation of the wave tags. The mixnature the wave tags media file may result in a set of media files withone or more formats. The wave blocks inside a mix nature wave tag may beextracted independently from one or more wave source or media files. Forexample, the wave tag may be extracted as shown in FIG. 12 from threedifferent channels independently. Alternatively, the wave tag may beextracted from a video file by processing visual and audio parts fordifferent wave blocks. As another example, the wave tags may beextracted from the radio wave signals and sound signals from a radioreceiver.

FIG. 13 is a flowchart illustrating an example process 1300 forgenerating new, or using unassigned wave tags, based on parametersreceived from a wave tag requestor, according to various aspects of thepresent disclosure. The process 1300, in some embodiments, may beperformed by a processor of a computing device that executes a wave tagmanager program 100. The process 1300, in some embodiments, may beperformed by a processor of the wave tag requesting device 155, or by aprocessor of the broadcasting device 158 when these devices includesoftware, hardware, and/or data to generate wave tags (FIG. 1).

With reference to FIG. 13, a request may be received (at block 1305)from an entity for receiving one or more wave tags based on a set ofparameters. For example, as described above with reference to FIG. 11, arequest for wave tags may include the identification of one or morecustom themes 1110, a custom file context 1120, the identification ofmapping data 1130, the configuration of the wave tag 1140, theidentification of the requester 1150, the identification of one or moreverification methods 1180, and/or a wave tag application dataset 1160.

The wave tags type may be determined (at block 1310) from the receivedparameters. For example, the wave tags may be determined to be soundtags, light tags, other types of wave tags, and/or a combination ofseveral types of wave tags.

Next, it may be determined (at block 1315), from the receivedparameters, whether the data item associated with the wave tag is to beused as signature. For example, as described above with reference toFIG. 11, an option 1130 may be provided to indicate the data itemassociated with the wave tag (e.g., short data or a unique identifier)is to be used as signature for generating wave blocks for the wavetag(s).

Default and/or the customized wave blocks may be selected (at block1320) from the received parameters to create a wave tag for therequesting entity. Next, a new wave tag may be generated (at block 1325)or an unused wave tag may be reserved (at block 1325) by using theselected wave blocks. The customization data may specify whichapproaches to take to generate customized wave blocks for the entitiesincluded in the dataset 1160 received from the requester. Furtherdetails of block 1325 are described below with reference to FIG. 14.

Next, a determination may be made (at block 1330) whether all requestedwave tags are generated or assigned. If no, the process 1300 may proceedto block 1320, which was described above. Otherwise, the wave tag(s)information may be provided (at block 1335) to the requester. Forexample, the wave tags(s) and/or the descriptor(s) for the wave tag(s)may be provided to the wave tag requesting device 155, as describedabove with reference to FIG. 1. The process 1300 may then end.

FIG. 14 is a flowchart illustrating an example process 1400 forgenerating new, or using unassigned wave tags for a given applicationdata, according to various aspects of the present disclosure. Theprocess 1400, in some embodiments, may be performed by a processor of acomputing device that executes a wave tag manager program 100. Theprocess 1400, in some embodiments, may be performed by a processor ofthe wave tag requesting device 155, or by a processor of thebroadcasting device 158 when these devices include software, hardware,and/or data to generate wave tags (FIG. 1). The process 14 providesfurther details of block 1325 of the process 1300 (FIG. 13).

With reference to FIG. 14, a determination may be made (at block 1405)whether the data item associated with the wave tag is to be used forgenerating wave blocks. As described above with reference to FIG. 13,the parameters received from the wave tag application may identify thedata associated with the wave tag as a unique identified or short that,which may be used to generate signature blocks.

If not, the process 1400 may proceed to block 1425, which is describedbelow. Otherwise, a determination may be made (at block 1410) whetherthe data is a unique identifier or short data. When the data isdetermined to be a unique identifier, if wave block(s) for the uniqueidentifier exist(s), the existing wave blocks may be used, otherwise theunique identifier may be used to generate one or more wave blocks forthe wave tag. For example, one or more wave blocks may be generated asdescribed above with reference to FIG. 2D. When data is a uniqueidentifier and is used as a common format as public wave tag, thegeneration of the wave blocks may be skipped (at block 1415) to avoidcreating redundant wave tags. The corresponding unique identifier wavetag may be provided (at block 1415) instead of assigning a new wave tagfor the same unique identifier. Depending on implementation, someembodiments may generate new wave tags for unique identifier (at block1415) while other embodiments may provide the corresponding uniqueidentifier wave tag, for example to improve performance, increaseefficiency, or for technical reasons. The process 1400 may then proceedto block 1445, which is described below.

When the data is determined to be short data, if wave block(s) for theshort data exist(s), the existing wave blocks may be used, otherwise theshort data may be used to generate (at block 1420) one or more waveblocks for the wave tag. For example, one or more wave blocks may begenerated as described above with reference to FIG. 2D.

When data is a short data and is used as a common format as public wavetag, such as, a brand name, or a public short data, the generation ofthe wave blocks may be skipped (at block 1420) to avoid creatingredundant wave tags. The corresponding short data wave tag may beprovided (at block 1420) instead of assigning a new wave tag for thesame short data. Depending on implementation, some embodiments maygenerate new wave tags for short data (at block 1420) while otherembodiments may provide the corresponding short data wave tag, forexample to improve performance, increase efficiency, or for technicalreasons. The process 1400 may then proceed to block 1445, which isdescribed below.

When a determination is made (at block 1405) that the data itemassociated with the wave tag is not to be used for generating waveblocks, a determination may be made (at block 1425) whether the wave tagmay be assigned from the pool of unassigned wave tags. When a wave tagrequester requests a highly customized wave tag, it may not be possibleto assign an existing unused wave tag to the requester. For example, ifthe wave tag application 1100 (FIG. 11) includes a custom file content1120, or requires particular themes, custom wave tags may have to begenerated to meet the requested customization.

When a determination is made (at block 1425) that the wave tag may beassigned from the pool of unassigned wave tags, an unused wave tag fromthe pool of unused wave tags may be assigned, or reserved, (at block1430) as the requested wave tag. For example, an unused wave tag may beassigned, as described above with reference to FIGS. 7-10 or an unusedwave tag may randomly be assigned.

The process 1400 may then proceed to block 1440, which is describedbelow. Otherwise, one or more wave tags may be created using theexisting or new wave blocks. For example, one or more wave blocks may begenerated as described above with reference to FIGS. 10A-10C and addthem to the wave block pool. Then the assignment tables may be used, asdescribed above with reference to FIGS. 7-10 to generate the wave tagfrom the generated wave blocks. Alternatively, the generated wave tagsmay be randomly used to create the wave blocks.

Next, the mapping of the wave tag to the data item to be identified bythe wave tag may be set (at block 1440) along with the footprint record.Next, the wave tag descriptor may be generated (at block 1445) by usingthe parameters for generation and broadcasting of the wave tag, the wavetag generation method, the wave tag broadcasting method, etc. Thedescriptor may be used to provide information regarding how the wave tagmay be reproduced. The wave tag descriptor may be as simple as a textfile showing which wave blocks to use, how the wave blocks arebroadcasted, and method of generating the wave blocks.

The media file corresponding to the wave tag may be created (at block1450). The process 1450 may then end. As described above with referenceto FIG. 1, some embodiments may provide the wave tags 170 as media filesto the wave tag requesting device 155. Other embodiments may provide thewave tag's descriptor and the necessary hardware and/or software to therequestor and/or to the wave tag capturing device 140 to generate thewave tags based on their descriptors.

The specific operations of the process 1400 may not be performed in theexact order shown and described. Furthermore, the specific operationsdescribed with reference to FIG. 14 may not be performed in onecontinuous series of operations in some embodiments, and differentspecific operations may be performed in different embodiments. Forexample, in some of the present embodiments, the data item associatedwith the wave tag may not be used as the signature to generate waveblocks. In these embodiments, the process 1400 may not include blocks1405-1420.

In some aspects of the present embodiments, a media file may not begenerated for at least some of the wave tags (e.g., the wave tags thatmay be generated by the requesting device, or the wave tags that may begenerated by the broadcasting device, the wave tags that identify uniqueidentifiers, or the wave tags that identify short data). In theseaspects of the present embodiments, the process 1400 may not performblock 1450. When the wave tag is a unique identifier or short data, themapping data, the identification of the mapping data, or atransformation of data may be used in generating the wave blocks.

It should be noted that the present embodiments do not use a reversibleencoding and decoding of the data that is identified by the wave taginto the wave tag's wave blocks. Instead, the present embodiment provideseveral novel ways of identifying the short data or unique the wave tagsare used to identify. One approach, used by some embodiments, forhandling the wave tag assignment to short data or unique identifierswhen the wave tag is used as a common format as public wave tag is toskip the generation of the wave blocks (at block 1415) to avoid creatingredundant wave tags. The corresponding unique identifier or short datawave tag, that already exists, may be provided (at block 1415) insteadof assigning a new wave tag for the same unique identifier or shortdata. The process 1400 may then proceed to block 1445. Accordingly,these embodiments may provide the existing wave tag any time a wave tagrequester requests for a public unique identifier or an existing publicshort data. These embodiments use one wave tag per public uniqueidentifier or short data. The data or a transformation of data may beused as signature data (FIG. 2C), but the data is not used forencoding/decoding purpose and instead is used as a method of creatingunique wave patterns.

As second approach, used by some embodiments, is to only use thesignaling wave blocks that are reserved for the short data or uniqueidentifiers (e.g., the signaling wave blocks S1 911 and E1 912 in FIG.9) and each signaling block also attached to a specific extractionmethod, including but not limited to, cipher and deciphering, hide andreveal instruction from content to locate or interpret the data itselfin various format. This method of handling informs the capturing deviceabout the existence of a data and a method of extracting it from themedia context. For example, a radio station may broadcast wave tags witha signaling block defined with the following extraction rule “providefive seconds after this signal is broadcasted”. The radio station mayplace the wave tag in an advertisement audio right before or around aphone number.

Once captured, the wave tag manager 100 (FIG. 1) may extract the phonenumber by just clipping five seconds of the audio right after the audiosignal is broadcasted and return it as the mapped data. Clearly, thisextraction method is not performing encode or decoding operation on wavetag. The method provides the technical advantage of providing a simpleand reliable method for extracting the data. These embodiments mayprovide a standardized audio file with the phone number that may beplayed by any audio player. These embodiments may use this method to fitthe extraction rule attached to the signaling block. In this example,the rule attached to the signaling wave block is “return five secondsafter this signal is broadcasted” and, therefore, the audio files arefive seconds audio files. These unique identity or short data audiofiles may be generated automatically by a machine. In this method, if anorganization needs a wave tag for a phone number, the phone number mediafiles (media files including the data itself, such as an audio fileplaying the phone number) may be attached to the signaling wave block togenerate wave tag. The method further provides the technical advantageof not requiring fingerprint matching, feature extraction, or any kindof encoding/decoding operation on the attached audio file; the methodsimply return the audio file. This method of short data/uniqueidentifier extraction from the wave tags may happen in most form of wavetags including, but not limited to, the sound tags, wave tags, and lighttags.

As another example, a TV program may broadcast wave tags with specificsignaling wave blocks according to short data attached to an extractionrule, any time they want to provide the short data on screen. Assume theextraction rule “record five second video after this signal isbroadcasted” is defined for the signaling wave block. The wave tag (withonly signaling wave block) may then be placed in an advertisement, rightbefore or around when a phone number is displayed on screen. The sameprocess described above for the radio example may be used to extract theshort data from the TV program. In TV example, light tags may be used assignaling wave blocks as an extractor.

The above mentioned approaches for generating or capturing short data orunique identifier wave tags may be used based on the specific usages tooptimize the wave tag assignment. These approaches are only optimizedfor the unique identifiers in public common format and for public shortdata because. The flexibility of the wave tag block structure and usingthe signaling wave blocks enables performing different approaches basedon the mapping entities in both generation and capturing processes.

There may be multiple signaling wave blocks reserved for short data,each mapped to different method of extraction to specify the method ofdata placement in, or extraction from, the content when detected in acontext. One or more signaling wave blocks for various unique identifierdata types such as ISBN, phone number, etc., may also be reserved.Therefore, when the wave tag identifies a unique identifier or shortdata, the body wave block(s) or the wave tag may be used to locate,extract and interpret the mapping data. The wave tag descriptor forthese wave tags may include information including, but not limited to,the reserved signaling wave blocks and the datainterpreter/locator/extractor function(s).

FIG. 15 is a flowchart illustrating an example process 1500 forgenerating a wave tag from the wave tag's descriptor, according tovarious aspects of the present disclosure. The process 1500, in someembodiments, may be performed by a processor of a computing device thatmay generate wave tags, for example a processor of a computing devicethat executes the wave tag manager program 100. The process 1500, insome embodiments, may be performed by a processor of the wave tagrequesting device 155, or by a processor of the broadcasting device 158when these devices include software, hardware, and/or data to generateand/or broadcast wave tags (FIG. 1).

With reference to FIG. 15, the wave tag′ descriptor may be received (atblock 1505). For example, the wave tag′ descriptor may be retrieved fromthe wave tag index database 160 of FIG. 1. Using the parameter in thewave tag's descriptor, the type of the wave tag may be determined (atblock 1510). For example, the wave tag may be determined to be a soundtag, a light tag, another type of wave tag, or a combination thereof.

A wave pattern generator may be activated (at block 1515) based on thetype of the wave tag. Further details of block 1515 are provided belowwith reference to FIG. 17. The wave tag's wave pattern may be generated(at block 1520) by the wave tag pattern generator. The wave taggenerator, in some embodiments, may generate the wave pattern withoutactually emitting the waves. For example, to generate sound wavepatterns, the wave pattern generator, in some embodiments, may digitallygenerate a media file by inserting music notes without actually playingthe notes during the wave pattern generation. In other embodiments, themusic may be played and recorded by the wave pattern generator in amedia file. For example, the wave pattern generator, in some instance,may have to play a specific video clip, a specific soundtrack, etc.,from which a wave tag requestor wants the wave tags to be generated.

A media file may be generated (at block 1525) for the wave tag. The wavetag's media file may be stored (at block 1530). The process 1500 maythen end.

FIG. 16 is a flowchart illustrating an example process 1600 forbroadcasting a wave tag from a media file, according to various aspectsof the present disclosure. The process 1600, in some embodiments, may beperformed by a processor of a computing device that may generate wavetags, for example a processor of a computing device that executes thewave tag manager program 100. The process 1600, in some embodiments, maybe performed by a processor of the wave tag requesting device 155, or bya processor of the broadcasting device 158 when these devices includesoftware, hardware, and/or data to generate and/or broadcast wave tags(FIG. 1).

With reference to FIG. 16, the wave tag's media file may be received (atblock 1605). For example, the wave tag′ descriptor may be retrieved fromthe wave tag index database 160 of FIG. 1. Using the parameter in thewave tag's media file, the type of the wave tag may be determined (atblock 1610). For example, the wave tag may be determined to be a soundtag, a light tag, another type of wave tag, or a combination thereof.

A wave tag pattern generator may be activated (at block 1615) based onthe type of the wave tag. For example, the wave tag generator may besimilar to the wave tag generator described above with reference to FIG.15. Further details of block 1615 are provided below with reference toFIG. 17. The wave tag's media file may be broadcasted (at block 1620) bythe wave tag pattern generator. For example, the media file associatedwith the wave tag may have previously been generated and stored asdescribed above with reference to FIG. 15. The stored media file may beretrieved and used at block 1620 to broadcast the wave file. The process1600 may then end.

FIG. 17 is a flowchart illustrating an example process 1700 forbroadcasting a wave tag by a wave pattern generator, according tovarious aspects of the present disclosure. The process 1700, in someembodiments, may be performed by a processor of a computing device thatmay generate wave tags, for example a processor of a computing devicethat executes the wave tag manager program 100. The process 1700 providefurther details of the blocks 1515 and 1615 of FIGS. 15 and 16,respectively. The process 1700, in some embodiments, may be performed bya processor of the wave tag requesting device 155, or by a processor ofthe broadcasting device 158 when these devices include software,hardware, and/or data to generate and/or broadcast wave tags (FIG. 1).

With reference to FIG. 17, a determination may be made (at block 1705)whether the wave tag is a sound wave tag. For example, the type of thewave tag may be determined from the wave tag's descriptor as describedabove with reference to FIG. 14. When the wave tag is a sound tag, asound pattern generator may be activated (at block 1710). Sound patterngenerator may include a vibrating member (e.g., a diaphragm) to producesound. Sound pattern generators may include, for example, and withoutlimitations, speakers, musical instruments, etc. The process 1700 maythen end.

When a determination is made (at block 1705) that the wave tag is not asound wave tag, a determination may be made (at block 1715) whether thewave tag is a light wave tag. When the wave tag is a light tag, a lightpattern generator may be activated (at block 1720). Light patterngenerators may include, for example, and without limitations, electronicdisplay screens, flashlights, LED lights, etc. The process 1700 may thenend.

When a determination is made (at block 1715) that the wave tag is not alight wave tag, a wave pattern generator may be activated (at block1725) based on the type of the wave tag. For example, depending on thetype of the wave, a Bluetooth wave generator, a radio wave generator, amicrowave generator, an ultrasound wave generator may be activated.Examples of such wave generators, may include, for example, and withoutlimitations, radio stations, satellites, computing devices that mayinclude hardware and software for generating Bluetooth signals, WiFisignals, radio signals, etc. The process 1700 may then end.

FIG. 18 is a flowchart illustrating an example process 1800 forintegrating wave a tag media file in context, according to variousaspects of the present disclosure. The process 1800, in someembodiments, may be performed by a processor of a computing device thatmay generate wave tags, for example a processor of a computing devicethat executes the wave tag manager program 100. The process 1800, insome embodiments, may be performed by a processor of the wave tagrequesting device 155, or by a processor of the broadcasting device 158when these devices include software, hardware, and/or data to generateand/or broadcast wave tags (FIG. 1).

With reference to FIG. 18, the wave tag's media file may be received (atblock 1805). For example, a media file may be generated and stored for awave tag, as described above with reference to FIGS. 14 and 15. Thecontext for integrating the media file with other content may bedetermined (at block 1810). For example, the time of broadcasting themedia file and/or the place of integrating the wave tag's media filewith another content file may be determined. Alternatively, the mediafile may be broadcast on demand, based on the context of anotherprogram. Some embodiments may provide a user interface for a person todetermine the time of broadcasting and/or the place of integrating thewave tag's media file with another content file.

Next, the wave file's media file may be used (at block 1815) in thedetermined context. For example, the media file may be broadcasted(e.g., as described above with reference to FIG. 16) at the determinedtime or on demand. Alternatively, the media file may be inserted at thedetermined location in the other content file, for example, to bebroadcasted at a later time. The process 1800 may then end. It should benoted that when customized wave tags are created from the content itself(e.g., based on example methods described herein with reference to FIGS.2C and 26), there may be no need for inserting the wave tag into thecontent and the wave tags may be detected from the context.

C. Extraction and Detection of Wave Blocks and Wave Tags

In order for a wave tag to be mapped to a data item, a wave tagcapturing device, such as the wave tag capturing 140 of FIG. 1 has todetect the wave blocks of the wave tag among other wave patterns in theenvironment. FIG. 19 is a functional diagram illustrating an exampleextraction method using overlapping or nonoverlapping sliding windows,according to various aspects of the present disclosure.

With reference to FIG. 19, a signal 1900 may be received over time. Thesignal 1900 may, for example, and without limitations, be sound waves,light waves, or another particular type of mechanical or EM wave, amongwhich a reading device is looking for wave tags. The signal may beprocessed in a sequence of slots generated by a sliding window 1910.

Each instance 1901-1902 of the slicing window may include a length of Xtime units and may move every Y time units to continuously look for newwave blocks. Y may be chosen in such a way that Y is smaller than X inorder to check (as shown by 1910) overlapping windows of the signal 1900for wave blocks. The overlapping windows may decrease the possibility ofmissing wave blocks, if the wave blocks are in the middle ofnon-overlapping windows.

Some embodiments may process a window 1901-1902 multiple times withdifferent parameters or setups, if it is not possible to clearly decideif a wave block is present in the signal 1900 due to other factors, suchas, noise or overlapping waves (e.g., voice, light, etc., depending onthe type of the signal 1900) while the wave block(s) of a wave tagis/are broadcasted. Some embodiments may change the parameters X and Yin real-time based on environment or based on previously detected wavetags.

For example, some embodiments may use specific starting signaling waveblocks or trigger signals to indicate the existence of multiple tags infuture, in order for the reading device to tune the parameters includingX and Y. Each window 1901-1902 may be processed to detect the existenceof wave blocks that may make a wave tag.

In order to process all windows, some embodiments may create one or morebuffers 1941-1942 to temporarily store media file generated by recordingsignals in one or more sliding windows. The buffers 1941-1942 may bereused as the sliding window moves in time. The media files in thebuffers 1941-1942 may be processed in parallel or in a first-infirst-out (FIFO) basis.

Unique features, such as, the fingerprints 1950 of each media file maybe extracted, for example, as described above with reference to FIG. 3.The media files in the buffer(s) 1942 may be processed in one or morepasses, possibly with different fingerprinting setups. The wave tagmapper 145 may compare the extracted fingerprints with the fingerprintsof the existing wave blocks stored in a database (e.g., the wave tagindex database 160) to identify a wave tag corresponding to one or moredetected wave blocks, as described below with reference to FIGS. 20 and21. A user interface 147 on the reading device may display the data181-183 corresponding to the detected wave tags, as described above withreference to FIG. 1.

FIG. 20 is a function diagram illustrating an example of a wave tagvalidation process using fingerprinting and the extracted wave blocksfrom the window slots of FIG. 19, according to various aspects of thepresent disclosure. Once the feature extraction or media filefingerprints are done, the fingerprints 1950 of the current slidingwindow 1911-1912 has to be matched with the fingerprints of the waveblocks stored in a fingerprint table 2025 with high accuracy (e.g., andwithout limitations with an accuracy of more than a 95% threshold).

In the example of FIG. 20, the wave block f 2041 and the wave block g2042 are matched to a portion of the received signal in the currentmedia file 1941-1942 (FIG. 19). Next, a determination is made (at block2060) whether the combination of the wave block f 2041, followed by thewave block g 2042 is a valid wave tag, as described below with referenceto FIG. 21. In the example of FIG. 20, the combination of the wave blockf 2041, followed by the wave block g 2042 is the valid wave tag m 2070.Next the mapping data 2080 to the wave tag m 2070 may be retrieved fromthe mapping table 2090 if the wave tag 2070 is accessible by thecapturing device or its' operator (e.g., if the wave tag is a publicwave tag or a private wave tag associated with the capturing device orit's operator). Finally, the mapping data 2080 may be listed on thecapturing device's screen 2085.

FIG. 21 is a function diagram illustrating an example of a wave tagsearching process using a combination of the extracted wave blocks,according to various aspects of the present disclosure. After the waveblock f 2041 and the wave block g 2042 are extracted from the time slotof the current sliding window (as described above with reference to FIG.20), a search may be made to find a matching wave tag that includes thewave blocks f 2041 and g 2042.

First, a search may be made for the signaling wave blocks (in thisexample, the wave block f 2041) and the results may be interpreted toprovide information that may facilitates the search for a matching wavetag. For example, the wave block f 2041 may be a signaling wave blockand a search in a table 2110 for the starting signaling wave blocks mayfind a match, indicating that the wave tags starting with the wave blockf 2041 belong to company C 2120. In addition, other information may beacquired from the starting wave block, including but not limited to, thewave tag schema, the interpretation method, the accessibility (e.g.,public or private), the type or category, the verification method, thetype of wave blocks in the wave tag (e.g., light, sound, other types ofwaves), etc. On the other hand, if a search for the wave block f 2041fails to find a match, the wave block f 2041 may be discarded and theprocess may continue with the next detected signaling wave block (ifany).

This process may continue until all detected signaling wave blocks (inthis example, the wave block f 2041) are matched and interpreted. Byusing the information found for the signaling wave blocks, a moreefficient search may be made for a match for the rest of the extractedwave blocks. For example, based on the signaling wave blocks it may bepossible to narrow dawn the search to a specific group of wave blockswithout searching other groups. In the example of FIG. 21, by knowingthat, if a matching wave tag exists, it belongs to Company C 2120, thesearch for the wave tags may be limited to search in the table(s) 2130that may include the wave tags that belong to company C.

As shown in FIG. 21, the wave block g 2042 may point to the wave tag m2070 in the table 2130 that stores the wave blocks for company C. Thefigure, for simplicity shows only one body block for each wave tag.However, it should be understood that each wave tag in the table 2130may correspond to a sequence of more than one wave block. Once the wavetag m 2070 is identified as a valid matching wave tag, the mapping table2090 of FIG. 20 may be used to retrieve the data item 2080 identified bythe wave tag m 2070.

FIG. 22 is a flowchart illustrating an example process 2200 fordetection, extraction, and capture of wave tags and their mapping datafrom streaming signals, according to various aspects of the presentembodiments. The process 2200, in some embodiments, may be performed bya processor of a computing device that may capture wave tags, forexample a processor of a computing device that executes the wave tagmanager program 100. The process 2200, in some embodiments, may beperformed by a processor of the wave tag requesting device 155, or by aprocessor of the broadcasting device 158 when these devices includesoftware, hardware, and/or data to capture wave tags (FIG. 1).

With reference to FIG. 22, a wave pattern receiver may be activated (atblock 2205) based on the type of the wave tags to be captured. Furtherdetails of block 2205 are provided below with reference to FIG. 23. Thewave signals similar to the wave tags' type may then be continuouslycaptured (at block 2210). For example, as described above with referenceto FIG. 19, the signals 1900 may continuously be captured. The wavesignals may, for example, and without limitations, be sound waves, videosignals, etc.

The captured signals may temporarily be stored (at block 2215) as windowslots in one or more media files. For example, as described above withreference to FIG. 19, one more sliding windows 1901-1902 may be usedstore the captured signals 1900 in one or more buffer 1941-1942. Theconsecutive windows, in some embodiments, may be overlapping with eachother in order to ensure all possible wave blocks in the signals arecaptured and processed.

Next, the consecutive window's media files may be buffered (at block2220) in a processing queue. For example, the consecutive window's mediafiles may be buffered in a processing queue as described above withreference to FIG. 19.

Next, the wave blocks and wave tags in the buffer may be extracted (atblock 2225). Further details of the wave tags' detection are providedbelow with reference to FIGS. 24A-24B. A determination may be made (atblock 2230) whether detecting wave blocks has to be stopped. If not, theprocess 2200 may proceed to block 2210, which is described above.Otherwise, process 2200 may end. For example, the process 2200 may endwhen the wave pattern receiver may be turned off or, in someembodiments, the process 2200 may not continue if the processing queuebecomes empty.

FIG. 23 is a flowchart illustrating an example process 2300 for loadinga wave tag receiver based on the type of the wave tags, according tovarious aspects of the present embodiments. The process 2300, in someembodiments, may be performed by a processor of a computing device thatmay capture wave tags, for example a processor of a computing devicethat executes the wave tag manager program 100. The process 2300, insome embodiments, may be performed by a processor of the wave tagrequesting device 155, or by a processor of the broadcasting device 158when these devices include software, hardware, and/or data to capturewave tags (FIG. 1).

With reference to FIG. 23, a determination may be made (at block 2305)whether the wave tags to be captured are sound wave tags. When the wavetags to be captured are sound tags, a sound received may be activated(at block 2310). Sound receivers may include, for example, and withoutlimitations, microphones. The process 2300 may then end.

When a determination is made (at block 2305) that the wave tags to bedetected are not sound wave tags, a determination may be made (at block2315) whether the wave tags to be detected are a light wave tags. Whenthe wave tags to be detected are light wave tags, a light recorder maybe activated (at block 2320). Light recorders may include, for example,and without limitations, cameras, light sensors, etc. The process 2300may then end.

When a determination is made (at block 2315) that the wave tags to bedetected is a light wave tags, a wave recorder may be activated (atblock 1725) based on the type of the wave tags to be detected. Forexample, depending on the type of the wave, a receivers or transceiverattached to one or more antennas may be activated to capture radio,waves signals, Bluetooth signals, microwave signals, etc. The process2300 may then end.

FIGS. 24A-24B are a flowchart illustrating an example process 2400 forextracting wave blocks and interpretating wave tags for each window slotin a buffered media file, according to various aspects of the presentembodiments. The process 2400 provides further details of block 2225 ofFIG. 22. The process 2400, in some embodiments, may be performed by aprocessor of a computing device that may capture wave tags, for examplea processor of a computing device that executes the wave tag managerprogram 100. The process 2400, in some embodiments, may be performed bya processor of the wave tag requesting device 155, or by a processor ofthe broadcasting device 158 when these devices include software,hardware, and/or data to capture wave tags (FIG. 1).

The process 2400 provides further details of block 2225 of FIG. 22. Withreference to FIG. 24, the next window slot's media file and theassociated metadata may be popped (at block 2405) from the processingqueue. One or more passes may be performed (at block 2410) on the windowslot's media file and fingerprints of the media file may be created (atblock 2410).

A search may be performed (at block 2415) for a match for the createdfingerprints in one or more databases that store the fingerprint of theexisting wave blocks. Each pass may generate different fingerprintrecords as described above with reference to FIG. 19. A determinationmay be made (at block 2420) whether a matching fingerprint is found. Forexample, the matching fingerprints may be found as described above withreference to FIGS. 19-21.

If a matching fingerprint is not found, the process 2400 may proceed toblock 2445, which is described below. Otherwise, the matching signalingwave blocks, including, but not limited to, the starting and endingsignaling wave blocks, may be identified (at block 2425). For example,the signaling wave blocks may be identified as described above withreference to FIG. 20. The Extracted signaling wave blocks may provideinformation about their associated wave tags, including, but not limitedto, the wave tags parameters, classification data, access data,applicant data, etc. (as described above with reference to FIGS. 20-21).

The parameters and classifications of the wave tags that may include theidentified signaling wave blocks(s) may be extracted (at block 2435).For example, the parameters and classifications of the wave tags may beextracted as described above with reference to FIG. 21. The wave tagsmay be interpreted (at block 2435) based on the extracted wave blocks,the arrangement of the wave blocks, the parameters, including but notlimited to, the related software or hardware parameters on the capturingdevice, the verification parameters, the parameters provided by the wavetag application 1100 (FIG. 11), and/or the stored classification rulesincluding but not limited to signaling block assignment rules (asdescribed above with reference to FIGS. 20-21).

A determination may be made (at block 2440) whether a valid wave tag isfound. For example, the valid wave tags may be found as described abovewith reference to FIG. 21. If the wave tag is valid, the process 2400may process to block 2450, which is described below. Otherwise, adetermination may be made (at block 2445) whether different extractionparameters are available to try. For example, as described above withreference to FIG. 19, several different sets of parameters may be usedto extract wave blocks with an accuracy threshold. When differentextraction parameters are not available to try, the process 2400 mayend. Otherwise, the process 2400 may proceed to block 2410, which isdescribed above.

At block 2450, a determination may be made on whether the capturingdevice is authorized to access the wave tag. The wave tag's metadata,configuration data, and/or the customization data from the wave tag'sassignment process (as described above with reference to FIGS. 11-14)may be used to determine whether the capturing device is authorized toaccess the wave tag. When the capturing device is not authorized toaccess the wave tag, the process 2400 may end.

Otherwise, a determination may be made (at block 2455) whether the dataassociated with the wave tag has been used for generating the waveblocks. For example, as described above, by examining the signaling waveblocks or the wave tag's metadata stored in the database, adetermination may be made whether the wave tag identifies a short dataor a unique identification. As described above with reference to FIGS.6, 9, 10A-10B, and 19, some embodiments may reserve some of thesignaling wave blocks for the wave tags that identify short data orunique identifier. Detecting these signaling wave blocks, in theseembodiments, indicates that the associated wave tag identifies a uniqueidentifier or short data. The signaling wave blocks may also identifythe type of the unique identifiers, such as URL, phone number, barcodes,etc.

When the data associated with the wave tag has been used for generatingthe wave blocks, the process 2400 may proceed to block 2475, which isdescribed below. Otherwise, the match for the rest of the wave blocksmay be found (at block 2460) in the mapping table. The data identifiedby the wave tag may be found in the mapping table may be identified (atblock 2465). The data identified by the wave tag may be displayed (atblock 2470) on the display of the capturing device. For example the data181-183 identified by the wave tag may be displayed on a user interface147 of the capturing device 140, as described herein with reference toFIGS. 1 and 29. The process 2400 may then end.

At block 2475, a determination may be made whether the data identifiedby the wave tag is a unique identifier or short data. When the dataidentified by the wave tag is a unique identifier, the uniqueidentifier, the unique identifier data and the type of the uniqueidentifier may be extracted (at block 2485) from the wave tag. Forexample, the unique identifier data and the type of the uniqueidentifier may be extracted by decoding the wave pattern in the wavetag. The type of the unique identifier may be, for example, and withoutlimitations, a URL, an ISBN, a telephone number, an IP address, abarcode, etc.

The unique identifier may be interpreted (at block 2485) and mayidentified based on the unique identifier's type, which may allow thedata represented by the unique identifier (e.g., a product identified byan ISBN or a barcode) to be displayed on the capturing device.Accordingly, for the unique identifiers, the optional extra step ofblock 2485 may result in identifying and displaying the entity that theunique identifier represents, for example the book cover and titleassociated with an ISBN may be displayed on the capturing device screen.

The process 2400 may then proceed to block 2470, which was describedabove. When the data identified by the wave tag is short data, the shortdata may be extracted (at block 2480). Examples of the extractionapproaches are described with reference to block 1410 of FIG. 14. Theprocess 2400 may then proceed to block 2470, which was described above.

The specific operations of the process 2400 may not be performed in theexact order shown and described. Furthermore, the specific operationsdescribed with reference to FIG. 24 may not be performed in onecontinuous series of operations in some embodiments, and differentspecific operations may be performed in different embodiments. Forexample, in some of the present embodiments, the data item associatedwith the wave tag may not be used as the signature for generating thewave blocks. In these embodiments, the process 2400 may not includeblocks 2455 and 2475-2490.

D. Viewing, Customizing, and Managing the Wave Tags

FIG. 25 is a schematic front view of a computing device that may displaya user interface for managing wave tags, according to various aspects ofthe present disclosure. With reference to FIG. 25, the UI 2500 may beused, for example, by a person associated with the wave tag issuer(e.g., the wave tag manager 100 of FIG. 1) and/or by a person associatedwith an entity that has received, and has control over, one or more wavetags.

The UI, referred herein as wave tag dashboard 2510, may provide optionsfor taking different actions on one or more wave tags. The actions mayinclude, but are not limited to the followings. The actions may includelisting all 2511 or a group 2512-2515 of the used/free wave tags. The UImay provide an option 2580 for creating a new wave tag.

The actions may include selecting a wave tag and selecting and viewingand/or editing data 2520 corresponding to the select wave tag. The wavetag data may include, for example, and without limitations, mapping data2521 and privacy data 2522. The wave tag data may also be edited andcustomized (e.g., by selecting the option 2523).

The actions may include selecting and viewing the wave tag descriptor2524 that shows information about the wave blocks and information abouthow to generate the wave tag. The UI 2500 may also provide an option2527 to download the wave tag media file to use wherever the media fileis need. The UI 2500 may provide the option 2526 to release the wave tagto free up the wave tag such that the wave tag does not map to any data

The UI 2500 may provide an edit option 2527 to change some of the wavetag data, such as, the mapping data of the selected wave tag. The UI2500 may provide an option 2530 to filter or group wave tags by specificwave blocks, such that the UI 2500 may only show wave tags starting orincluding specific wave blocks.

The UI 2500 may provide a search option 2540 to search the listed wavetag based on the mapping data (for example filtering phone numbers withspecific area code) or the wave tag metadata (for example filteringbelong to company C, filtering sound tags, filtering wave tags of 1-1-1schema, etc.). The UI 2500 may also display statistics including but notlimited to the total 2551, the used (or assigned) 2552, and the free (ornot assigned) 2553 wave tags. Monitoring the wave tags may provide someinsight on the wave tags. The UI 2500 may provide the options to listpopular wave tags 2561, to list inactive wave tags 2562, or to filterwave tags access by location or time and do desire action including butnot limited to limiting access. The wave tags issuers, owner, or users,in some embodiments, may have different interface based on theirpermissions. Some wave tags may be issued as locked (e.g., as shown by2570), permanent, or nonmutable in order to prevent editing or releasingthe wave tags after they have been issued. Some embodiments may allowlocking specific aspects of wave tags, such that a part of a wave tagmay not be changeable and another part of the wave tag may bechangeable.

The UI 2500 may provide a lifecycle setting option 2591 to manage thewave tag lifecycle. For example, by default the wave tags may be staticand may be assigned to specific data as long as the data is not changedor released by the wave tag requester or the wave tag manager 100 (FIG.1). Alternatively, the wave tag may be set to dynamically change aftereach usage (for example as described with reference to items 2801-2803of FIG. 28) or may expire after one-time usage (for example as describedwith reference to items 2804-2806 of FIG. 28). The frequency of usage ofthe wave tag may be specified. For example, and without limitations,after 100th usage the wave tag may be released automatically.

E. Example Generation of Custom Wave Blocks

FIG. 26 is a functional diagram illustrating an example of using thesystem of FIG. 2C for generating custom wave blocks, according tovarious aspects of the present embodiments. With reference to FIG. 26, amain content signal 2601 with repeating chunks during the content, forexample, a melody in the background music, a scene in a video, an imagein an image sequence, or a wave signal in broadcasting signals may beused as customized signaling wave block for some of company C wave tags.

For example, assume the portion of the signal 2601 displayed in FIG. 26is an X minute music that is playing either as standalone or as abackground music in an advertisement. Company C may provide theadvertisement file using an interface such as the UI 1100 of FIG. 11 andmay request for customized wave tags for advertisement. The file may beprocessed by the wave tag manager 100 (FIG. 1) and may generate one ormore wave blocks by using that file. For example, if the music 2601 isplaying in the background, the music may have a short melody 2602, forexample, a three seconds piece of music that repeats during the playingof the music 2601. The repeating short piece of music 2602, may be avery good candidate to be used as a customized signaling wave block.

The rest of the music 2601 may be used to create one or more wave blocksas the body wave blocks, preferably the pieces 2603 right after eachsignaling block are very good candidates if they create uniquefingerprints. However, since sliding windows and multiple passes withdifferent setups may be used to extract wave blocks from each window,and a search is made for all matches in the wave block database and notfor the wave tags independently, it is fine to choose any other piece ofmusic as the body wave blocks.

As shown in table 2610, three body wave blocks 2611-2613 and onesignaling wave block 2614 may be generated from the music/advertisementsound or visuals. Therefore, with the schema 1-1-0 (item 712 of FIG. 7),there may be three possible wave tags 2621-2623 to represent entities.Using this generation method, if someone watches or listens to theadvertisement, they may just hear the music and may not know if any wavetags are being broadcasted. In other words, the wave tags are implicitnot explicit. Alternatively, specific themes close to the content andnot the content itself may be used. For example, if the music is pop,any existing pop wave blocks may be used for the wave tags. In this casethe wave tags may be placed or broadcasted along with the main contentsuch that the listener may slightly distinguish the wave tag from thecontent. Some embodiments may use light blocks, sound blocks, or othertypes of wave blocks together to create wave tags when there aremultiple signal types are available, for example during a TV programwhere both light tags (visuals) and sound tags (sound) may be used.

F. Example Uses of the Wave Tags

Several example uses of the wave tags are described in this section.FIG. 27 is a functional diagram illustrating an example use of privatewave tags, according to various aspects of the present embodiments. Withreference to the example of FIG. 27, the website “companyC.com” loginpage 2710 may include an extra authentication process by using a privatewave tag as a token, referred herein as a wave token, for the users toauthenticate their devices. In this example, company C my assign uniquewave tags as wave tokens to their users and may map the wave tags tospecific data including, but not limited to, verification data such ascarrier data 2791 or geolocation data 2792 from the authorizedbroadcasting or/and capturing devices to be compared later with theparameters provided by the broadcasting or/and the capturing devicesinvolved in the authentication process.

With reference to FIG. 27, there may be a call and/or a video conferencebetween the phone 2720 and the laptop device 2730. An employee ofcompany C that is using the laptop 2730 may want to use a private wavetag of company C, which is assigned to the employee by the company, tobe used to authenticate the employee and/or other participants toparticipate in the call/video conference session.

The phone 2720 may authenticate itself to a server 2735 associated withcompany C and may receive the private wave tags 2741-2742. The phone maybroadcast (as shown by 2750) company C's private wave tag 2741 and thelaptop 2730 may capture the private wave tag. The broadcast may be doneby playing the wave tag, if the two devices 2720 and 2730 are nearby ormay be transmitted electronically using a media file from the device2720 to the device 2730 and played on the device 2730.

The laptop 2730 may send (as shown by 2760) the wave tag along withother verification parameters 2794, to the server 2735. The verificationparameters may include the parameters related to any software orhardware on the capturer or broadcaster devices (e.g., geolocation ofthe device 2730, browser data such as cookies, identification of device2730 such as Media Access Control (MAC) identification of the device2730, etc.). If the wave tag is verified by the server 2735, thelaptop's 2730 authentication is successful.

To avoid recording of the wave tag and using it in an unauthorizeddevice, the company C server 2735 may, optionally, release the used wavetag and assign a new wave tag as a wave token (as shown by 2770) everytime a wave token is used for authentication in order for the wave tokento be used only once after the wave token is issued for verification.The login page 2710 may provide an option 2781 for the device 2730 tolisten to the broadcasted wave token (as described above) and an option2782 to instead upload the media file to the server 2735.

FIG. 28 is a functional diagram illustrating several examples uses ofwave tags, according to various aspects of the present disclosure. Thefigure shows several exemplary uses of wave tags for different purposes,such as, ownership verification, authentication or one-time transactionexecutions, etc., are described. The wave tags 2811-2812 may be used forauthentication, authorization verification, transaction clearance, etc.,similar to the example described with reference to FIG. 27.

FIG. 28 shows a method of using wave tags for performing financialtransaction. For example, the data identified by wave tag E 2815 may bea promotion for the receiver to transfer $10 to a specific bank account.The wave tag D 2814 may be mapped to a $10 transaction 2804 that may beexecuted once the wave tag D 2814 is provided. The owner of the accountmay deposit funds in escrow which is authorized and connected to thewave tag manager 100 and may reserve a transaction wave tag withspecific amount similar to a gift card amount.

Anytime the wave tag is captured, the amount may be redeemed by thecapturer device into the capturer's bank account choice. The wave tagmay be a one-time use wave tag (refer to the lifecycle setting 2591described in FIG. 25) and may be automatically released and be addedback to the unassigned wave tag pool to ensure that only one transactionmay happen using that wave tag.

However, the wave tag owner (e.g., the wave tag requesting device 155 ofFIG. 1) may set the frequency number to allow the transaction to be doneX times. For example, only the first 100 devices that captured the wavetag may be able to perform the transaction. The wave tag restrictions inprivate wave tags may limit the execution of the transaction to specificdevices, to specific locations, or to verified affiliated device orpeople. Assigning wave tags for the transactions may also follow thesteps described in the processes of FIG. 13-14. When requesting a wavetag for a financial transaction (e.g., as described above with referenceto FIG. 11 and FIG. 13 blocks 1305-1315), the requested wave tag may beknown to be a financial transaction.

Knowing that the wave tag is associated with a financial transaction,the wave tag assignment may be done such that reproducing the wave tagby non-authorized parties is less probable. The accuracy threshold formatching the captured wave patterns to the wave tag's pattern (or thewave tag's wave blocks patterns) may also be set to a high threshold.For example, using a very big pool of possible transaction wave tags(e.g., one of millions of possible wave tags), using an unpredictableand continuously changing signature generator (hash functions), or usingdifferent wave pattern generator logics described in FIG. 2A, using veryunpredictable existing wave media files as described above withreference to FIG. 2B, and/or using combination of blocks generated usingdifferent approaches as described in FIG. 2A-2D may help avoidingun-authorized reproduction of the wave tags.

The transaction wave tags (or other high security wave tags) haveseveral advantages over other wave tags of the present embodiments aswell as other traditional ways of doing transactions. First, thetransaction wave tags may be used as extra authentication step, forexample, in a two-step authentication process, since the randomness ingenerating the wave blocks of the transaction wave tags makes them verygood candidates for validation before the transaction is executed.

Second, in some situations, using the traditional ways of doing atransactions may not be possible. For example, radio or TV programs haveno idea who the audience that listen to, or watch, their programs are atany moment. If they want to make sure the transaction is made on theaudience devices in the moment in fair way at same time, in thesesituation wave tag might be the only option.

Third, the wave tag holder may transfer the money without even havingthe bank information to initiate the transaction because the wave tagmay be public, and the transfer may be complete by just capturing thewave tag. The receiver may also not need to know the holder's bankinformation to accept the payment since the wave tag provides the fundsfrom the screw. However, the wave tag holder may connect to the wave tagholder's account and authorize the wave tag manager 100 (FIG. 1) towithdraw from the account as alternative way.

Fourth, the transaction wave tags may provide a contactless transactionin situations (such as pandemics, epidemies, diseases or other dangeroussituations), where contacts may preferably be avoided. For example, awave tag capturing embodiment may be implemented in an automated tellermachines (ATMs) or in a similar hardware and/or software in publicplaces. The bank customers may reserve a private transaction wave tagthat is only executable on the ATM hardware from bank (using interfacesuch as the interface 1100 of FIG. 11) and may set up a desired ordefault amount and emit the wave tag in front of the ATM without usingcredit cards.

Similarly, a bitcoin transaction 2805 (e.g., transferring one or morebitcoins) may be executed once the wave tag E 2815 is provided orcaptured. The wave tag holder. Wave tag can be used as a private key tounlock a transaction or as one of multi-owner transactions. So, once allwave tags are captured the transaction is executed. The wave tag maysend specific amount to receiver bitcoin account in similar methoddescribed for bank transactions.

With reference to FIG. 28, the owner of the bitcoin account 2802 mayverify the owner's ownership using the wave tag B 2812. For example, theaccount owner may reserve a wave tag for their private key and anytimethat the wave tag is provided, the private key may be provided. Theaccount owner may decide to dynamically change the wave tag after eachuse (e.g., as described with reference to the lifecycle setting of FIG.13) to increase security.

Memorizing the private key may almost be impossible and losing theprivate key and losing access to accounts is very common. Alternatively,the account holder may verify their account with the wave tag manager100 through an interface such as the interface 1100 of FIG. 11 and inreturn the wave tag manager 100 may provide the wave tag (dynamic,static 2591) to allow the account holder to verify their account insimilar approach described with reference to FIG. 27. Alternatively,account verification may happen by a simple encryption/decryption testby the account holder's private key so there is no need for the privatekey itself to be stored in the wave tag manager's 100 databases 160.Similarly, an employee 2803 may authenticate to use an organization'sresource by providing the wave tag C 2813 is similar way as describedwith reference to FIG. 27.

With further reference to FIG. 28, an organization may use wave tags asa certificate, as a digital asset, or as an ownership verificationmethod. For example, a person owning a certificate 2801 may verify herownership by broadcasting or providing the wave tag A 2811. Thecertificate issuer may provide wave tags to be used similar to theexample of FIG. 27. The wave tag may map to official certificate numberor the certificate content. One implementation method is to use hash ofthe certificate content as signature string to create certificate so wealso can verify the content to be enact and original by comparing to thesignature string. In this approach we won't need to change wave tagdynamically anymore. Anyone can verify if the certificate is original byjust broadcasting corresponding wave tag and see compare the contenthash to signature string. Wave tags may be reserved for digital assetsincluding but not limited to non-fungible assets like blockchainfungible tokens. Wave tags may be used to provide information about theasset through channels, such as, radio, TV and places where usingprinted barcodes is not efficient or is impossible. Some version of wavetag transaction 2804 may be used for transferring digital assets.

With reference to FIG. 28, the key for decrypting an encrypted data 2806may be provided once the wave tag 2816 is captured or provided. The wavetag owner 155 or wave tag manager 100 may reserve set of wave tags(dynamic or static 2591) as decryption key holder. One implementationmethod is mapping the decryption key to the wave tag 2816. Anytimesomeone needs to read the encrypted data 2806, they have to broadcastthe wave tag in order to receive the decryption key. The decryption keymay be a private key used to encrypt the data. Alternatively, twodifferent wave tags (dynamic or static 2591) may be used, one reservedfor the encrypted data and one for the decryption key.

Capturing the first wave tag may bring the encrypted data and the secondwave tag may decrypt the data so user may read the data. One or morewave tags may be used in the process and may create a multilevelencryption for securing the encryption. It should be noted that thepresent embodiments are not performing any encryption/decryption overthe wave tag itself and instead mapping data of the sequence of the wavetags. This method may be used in other wave tag use cases to providesecurity enhancement or privacy.

The present embodiments provide a technical advantage compared to themethods that provide the decryption key without a tag. For example,radio or TV programs may want to provide information to a specific partof their audience. They may, broadcast the wave tags which are mapped toan encrypted data. The audience with access to the decryption key whichis itself a mapping data for other wave tag may use the key to see thedecrypted information. Alternatively, the radio or TV programs mayprovide some encrypted content online and, during the program, they maybroadcast a wave tag with the decryption key in order to decrypt andshow the encrypted content. This use case may also be used incombination with other use cases, including but not limited to, thetransaction wave tags or wave tags mapped to the sensitive or privatedata.

With reference to FIG. 28, any of the method and use cases mentioned inthe diagram may be used in combination and by using a sequence of wavetags. For example, one or more decryption 2816 wave tags may be usedbefore the ownership verification 2811 or the transaction execution 2804use cases. As another example, an ownership verification 2811 wave tagmay be used before a transaction execution 2804 wave tag. an importanttechnical advantage the disclosed methods is that the data isindependent of the wave tag itself and the methods do not use any kindof encryption or decryption on the wave tags themselves.

FIG. 28B is a functional diagram illustrating an example use ofencryption and decryption using wave tags for a two-level encryption anddecryption of data, according to various aspects of the presentdisclosure. The example of FIG. 28B shows the way wave tag 2851 may beused to broadcast a two-level encrypted data 2861, first by using theencryption key Pk1 2863 and second by using the encryption key Pk2 2862as mapping data using 2851 and in the other hand, decrypt the encrypteddata by capturing sequence of wave tags 2852 and 2853 that are mapped tothe encryption keys (2862 and 2863 respectfully). For an N-levelencryption a set of N+1 wave tags may be used, N wave tags for theencryption keys and one wave tag for the encrypted data. Someembodiments may perform encryption and decryption using algorithms, suchas, for example, and without limitations, RSA (Rivest-Shamir-Adleman).Encryption keys used in the RSA algorithm are (public, private) keypairs.

FIG. 29 is a functional diagram illustrating an example process ofgenerating and capturing of the wave tags, according to various aspectsof the present disclosure. The example of FIG. 29 shows the generationand use of the sound tags. The sound tags are highly applicable forradio stations and radio programs. The radio stations 2903 communicatewith their audience through sounds and audio. Among the usual radioprograms, there are audio storytelling, music playing, audio talk shows,etc. There are a variety of special topic radio stations, such as,religion-based or scientific-based radio programs.

Including among these programs, there may be radio advertisements.Radios 2902 are great ways to communicate and broadcast different kindof information among a wide range of audience since people usually spendconsiderable part of their daily time driving or using publictransportation. In addition, there are many places in which the maincommunication channel with the population is by using radio oraudio-based communication.

Obviously, identifiers such as 1-D barcodes or 2-D barcodes (e.g., QRcodes) or any other type of printable product identifier codes do notwork in audio communications. All of the existing standardized codes arein printed format and need to be scanned at least once by using anoptical code reader. This limitation prevents radio stations to interactwith their audience efficiently and in a two-way format.

Using the wave tags of the present embodiments, the radio stations mayreceive or and/or may generate different types of audio (or acoustic)wave tags 2905 to interact with their audience. In some embodiments, theradio station may be the wave tag generator. For example, the wave tagmanager 100 (FIG. 1) of some embodiments may provide the software and/orthe data required for generating wave tags to the radio station along auser interface, such as the user interface 2500 of FIG. 25 to allow theradio station to create, customize, and/or manage the associated wavetags.

The audience 2907A-2907B may setup their wave tag capturing devices 140to listen and capture sound wave blocks and identify the associated wavetags, for example, as described above with reference to FIGS. 19-21. Theidentified wave tags 2905 may be displayed (as shown by 2906A, 2906B,and 2906C) on a UI 147. Each wave tag may identify the item it isrepresents on the UI 147. Selecting each display item associated with awave tag may trigger another action 2933, activity 2931, and/orservices.

Examples of the important data items that may be identified by the wavetags in radio station programs may include, for example, and withoutlimitations, URLs 2934-2935, phone numbers 2931, addresses, products2932, services, promotions, barcode and QR codes, etc. The itemassociated with a sound tag may be an item internal to a private orpublic organization such that all or part of the audience wouldunderstand what the item is (2906A for 2907A and 2906B for 2907B). Thesound tags may be used as ports to give the audience more information orshowing the specific interfaces so that they may ask audience to inputor initiate some kind of tasks, activities.

When the radio is on and the program is on air, the current program mayalso broadcast related or non-related sound tags in order for theaudience sound tag capturing devices 140 to capture the sound tags anddisplay the additional information, to initiate some tasks, and/or toprovide required information for the playing radio programs. The soundtags may, therefore, provide a full two-way communication between theradio program and may enable the listeners to receive additionalinformation and/or to perform additional activities in addition tolistening to the radio program.

Some embodiments may enable the audience to capture the sound tags forlater use, for example to check the item associated with the sound tagsat the right time and/or at the right place (2906D). The audience may,therefore, be still connected to the radio program after the programends.

TV programs may also be able to use sound tags as well as light tagswith the same mechanism. The use cases for TVs 2901 may be similar tothe radio uses cases described above or may be different applications.

Sound tags may provide unique ways for radio marketing, referred hereinas interactive radio marketing. The followings are some non-limitingexamples of the characteristics of the interactive radio marketing. Thesound tags are non-printed code that may be captured by the audience'scapturing devices and provide additional information to the audiencewhile the radio program continues. The audience may be able to use theuser interface on their capturing devices and/or other electronicdevices to get information about products and services, buy or pre-orderproducts or service either while the radio program is being broadcastedor afterwards.

The sound tags enable the possibility of triggering the inquiry or thepurchasing of products or services immediately after capturing thecorresponding sound tags. The action triggered by sound tags may allowthe audience to subscribe to products or services identified by thesound tags.

FIG. 30 illustrates a functional diagram showing the life cycle of wavetags, according to various aspects of the present disclosure. In theexample of FIG. 30, the non-printed synthesized wave tags may begenerated using the method described above with reference to FIG. 2A.For example, the unique signatures may be unique strings, such as forexample, and without limitations, hexadecimal code 3000 or the like,which may have a predefined length a customized length. The uniquesignatures 3000 may be used to generate wave blocks that are used tocreate wave tags. The unique signatures 3000 do not have anyrelationship to the data entities that may be identified by theresulting wave tags.

The unique signature string 3000 may be created as hexadecimal codes byone or more hash functions. The unique signature 3000 may be used as thefoundation for building wave blocks as described above with reference toFIG. 2A. The unique signatures contribute to generating uniqueidentifiable non-printed synthesized wave tags to identify differentitems. The unique signatures, in this example the hexadecimal signatures3000, may be input to wave block generators 3007A-3007C to generate thecorresponding unique wave blocks such as, sound blocks for generatingsound tags, light blocks for generating light tags, and wave blocks forgenerating other types of wave tags (e.g., microwave tags, ultrasoundwave tags, etc.).

The unique signatures may be created in several different ways. Forexample, and without limitations, unique signatures may be created usinga hash function 3005. The unique signature generator 3005 may use a hashfunction 3095 may generate unique strings 3000 that may be used togenerate wave blocks. The wave blocks may be used at a later time to beassigned to, and used in, wave tags.

Alternatively, the unique signatures 3000 may be created by hashing anyunique data in the real world, for example, a university ID, a websitelink such as a URL, a promotion code, or a phone number through asignature block generator 3003 that may include a hash function 3093,using the unique data in the real world to corresponding hexadecimalvalues 3004 with a unique signature. The signature generator 3003 mayuse different parameters to create highly distinguishable signatures3004 which may reduce the rate of collision to the least. In thisapproach, if the real world data belong to a particular entity, theresulting unique signature may or may not be used to generate waveblocks to be assigned to the particular entity.

It should be noted that the result of hash functions are not reversible.Therefore, when a unique data, such as, a phone number, a URL, etc., isused by a hash function to generate a hashed string, the resultinghashed string is not reversible into the original unique data. Thepresent embodiments may use the hashed strings to generate wave blocksand to build wave tags that are then used to map to different dataitems.

The input (hexadecimal signatures) passed to one or any of sound, light,and wave block generators 3007A-3007C may be the same, which maygenerate their corresponding sound, light and wave respectively based ona set of rules, for example as described with reference to FIGS. 10A and31. After the generation of sound wave blocks, light wave blocks, andother types of wave blocks, they wave blocks may be passed to afingerprinting function, namely the sound fingerprinting function 3008A,the light fingerprinting function 3008B, and the other type of wavefingerprinting function 3008C, which may extract the unique features andcharacteristics of the wave blocks and may record the sound fingerprintsin the sound fingerprint database 3009A, the light fingerprints in thelight fingerprint database 3009B, and the other wave fingerprints in theother wave fingerprint database 3009C.

With further reference to FIG. 30, the data regarding each group of waveblocks and wave tags (e.g., sound tags, light tags, etc.) may be storedin different databases and may have different interpretation or usecases in their group. Another database 3009D may be maintained to storethe records of permissions, type of application, relating signatures,etc.

Any entity 3010, such as an organization or a person, may submit arequest to receive one or more wave tags to be used unique non-printedsynthesized identifier for identifying items. The requester 3010 mayapply for a reserved space of signatures. A reservation application 3011(e.g., as described above with reference to FIG. 11) may assign one ormore unique wave blocks, or reserve a set of signaling wave blocks forthe applicant usage, which is specifically used for applicant'sentities.

There may be other parameters along with the reservation application.For example, access policy, interpretation parameters, the expiry datesfor the wave tags or the signatures, sharing policy, the forms of thewave tags (e.g., light/sound/other type of wave), and/or reserved hashfunctions. Reservation response may include the wave tag signatures 3013assigned to the applicant 3010 along with possible parameters that maybe stored in a locally owned signature table 3018B or the wave tag mediafiles.

The wave tag broadcasters 3001A and 3001B may able to generate wave tagsaccording to their accessible signatures 3002B or by requesting (asshown by 3002A) directly or indirectly to have their desired signatures.For example, the broadcaster 3001A may be able to generate any of itswave tags according to its local signature table 3018B or directlysending request for signature and generating the corresponding wavetags. A broadcaster, such as 3001B may have access to barcodes or QRcodes 3018A containing a hexadecimal signature and may generate thenon-printed synthesized identifier using the wave tag generator 3014.

Signatures may be shared freely or according to their sharing policyamong broadcasters. The generated wave tags may be broadcasted throughone or more media or device such as radios 3015A, radio stations,televisions 3015F, light sources 3015B, speakers 3015D, signaltransmitters 3015C, satellites 3015E, etc. Every device in an emittingwave tag's coverage, may receive the wave tag. However not all receivingdevices may extract the item identified by the wave tag, unless the wavetag is a public wave tag.

A public wave tag is a wave tag that may be detected by any device,whereas a private wave tag, may be detected in receiver who knows itstrigger (e.g., a signaling wave block trigger 3016B). A wave tag emittedthrough a radio receiver 3015A or a speaker 3015D, in this case a soundwave tag, may be received by a device with a sound receiver 3016B. Alight tag emitted by a light source, a conventional lamp or alike may bereceived by a device with a light receiver, and other types of wave tagsemitted with a signal or wave generator 3015C may be received by anydevice with a corresponding wave or signal receiver. The devices 3016Athat receive the wave tags may map the wave tags to their correspondingentities either directly 3016B or by querying the wave tag databases3009A, 3009B, 3009C, and/or 3009D and may recognize the items that thewave tags represent and list the received wave tags and theirinterpretation in an interface 3017.

The wave tag generator 3014 may deal with at least three mainsignatures, trigger signature (for start signaling wave blocks), bodysignature (for body wave blocks) and terminator signature (for endsignaling wave blocks). There may be verity of signatures representingdifferent triggers or terminators. FIG. 31 is a functional diagramillustrating an example embodiment of the wave tag generator of FIG. 30.With reference to FIG. 31, a wave tag 3105 is a synthesized identifierpattern that may be created by inputting three signatures in a sequencepreferably trigger 3101, body 3102, and terminator 3103 signatures intothe wave block generator 125, which may generate the wave tag's 3105pattern based on predefined rule and according to the input signature(e.g., example by using different note or frequency). In addition, theremay be some timing signatures and one or more body signatures (e.g., asdescribed above with reference to FIG. 8B).

FIG. 32 is a functional diagram illustrating an exemplary process ofassigning and using wave tags, according to various aspects of thepresent disclosure. With reference to FIG. 32, company C 3203 may be aglobal company owning the brand N 3241 and may offer well-known productsor services globally for example product X1 3250. There may also be manylocal companies such as company A 3201 and company B 2902 that areselling company C's products or services separately. Company A 3201 andcompany B 3202 may be two separate local companies with differentcompany information, such as, phone, address, website, products, and/orservices. Company A and company B may have exclusive range of productsand/or services for their business (e.g., product X2 3260 for company A,product X3 3270 for company B). Both company A and company B may offersome products or services produced by company C, such as, product X13250. For example, product X1 (a) 3251 is product X1 listed on companyA's website and product X1(b) 3252 is product X1 listed on company B'swebsite). Company A 3201 may be planning to promote their productsthrough channel X 3221 and channel Y 3222 radio stations along withchannel 14 TV station 3211 located in California area. Company B may beplanning to promote their products through channel Y 3222 and channel Z3223 radio stations and Channel 15 TV station 3212 located in Texasarea.

Company C 3203 may be planning to promote their products and servicesand their brand N 3241 globally across various international radio, TVor billboards. Company C may use the wave tag manager 100 (FIG. 1) ofthe present embodiments to request 100 sound, light, and one other typeof wave (e.g., ultrasound) tags for each one of their current or futureproducts or services. Since company C 3203 is a global brand, they wouldrequest 50 public and 50 private (or restricted) wave tags representingentities in their business including products, services, companyinformation, promotions, coupons, redemption links, and/or their brandname.

The wave tag manager 100 (FIG. 1) may assign 100 unassigned wave tags orgenerate new unique wave tags on demand for company C 3203. Company C orwave tag manager 100 (FIG. 1) may map some of the reserved wave tags forcurrent usages and may leave the rest of the wave tags for future uses.In case a specific entity in company C is discontinued, they may easilyrelease the corresponding wave tag and may assign the wave tag to adifferent entity in company C 3203 using an interface such as theinterface 2500 of FIG. 25.

Wave tags may be defined to have expiration time and may be put back inthe wave tag pool to be assigned to different entities when company Creserves them for short-term purposes. The wave tag manager 100 may alsodedicate all tags with specific start or end signaling wave blocks tospecific company so any tag that starts and/or ends with a specificpattern may indicate the company owning the tags (as described abovewith reference to FIG. 9).

After reserving tags and assigning them to the entities in theirbusiness, for example, sound tag A2 3242 may be assigned to (assignmentis shown by arrows such as 3243) product X1 listed on company A'swebsite (represented with X1(a) 3251), the companies may be able tobroadcast the appropriate wave tags anytime through appropriate channelor media. For example, company C 3203 may use their tags in their radio,TV or billboard advertisements. For example, sound tag A1 3244 may bebroadcasted (3245) in the Texas area radio station channels, such as,channel X 3221. Any radio or TV channel playing the advertisement mayalso broadcast the wave tags and the audiences' reading devices maycapture the wave tags and may find the corresponding entities that havebeen assigned to the wave tags. The radio or TV stations may alsobroadcast the sound tags on demand using audio files (as described abovewith reference to FIG. 16) or broadcast it using application or websiteon demand (as described above with reference to FIG. 15).

In digital billboards, such as the billboard 2 (item 3232), a recordedvideo of a light tag may be played or the light tag pattern may begenerated in real-time using LED or video visual scenes. In this case,there may be mixed nature tags (e.g., light only, sound only, a mix ofsound and light wave blocks, etc.) broadcasted through LED and recordedvideo. In non-digital billboards, such as billboard 1 (item 3231), a LEDon-off sequences may be played representing the light tag.

Company A 3201 and company B 3202 are local business using company C3203 products or services (3250) may use company C's wave tags in theirown promotions (sound tag C1 3246, sound tag C2 3247, etc.). However, ifcompany A wants to have exclusive tag representing the same product X13250, they may request a new tag for the same product (sound tag A23242) that is only valid for product X1 3250 listed on company A (X1(a)3251) and not valid for product X1 listed on company B (X1(b)).Accordingly, different waves tags may be for the same entity.

Company C 3203 may request some private or restricted tags, for examplea promotion or coupon on X1(a) 3251 only in Texas (sound tag C1 3248),in this case, wave tags only map to their entity only if the wave tagsare captured and/or broadcasted in Texas. The same tag (sound tag C13248) if broadcasted in California may return nothing. It is possible toverify the restrictions based on the parameters being sent along withthe captured wave tag. These parameters may include, for example, andwithout limitations, email address, phone carrier, location, tagbroadcaster, capturer device's related software or hardware parameters,etc. The starting and/or the ending signaling wave blocks in a wave tagmay also be used in the verification process. Company B 3202 may have astudent benefit or may offer product, services, or entities that areonly accessible to university U2 3227 students. In this case, company B3202 may also request private tags to represent these entities. Forexample, sound tag B1 3249 may be a private sound tag for verifiedaffiliated devices 3281 or people 3282 to University U2 3227.

An easy way to apply the restrictions on the wave tags is to require thelistener devices and/or the broadcaster devices to verify theiridentification or provide the required credentials before processing themapping from the wave tag to the mapped entity. For example, a verifieduniversity email address ‘joe@u2.edu’ used in the capturer embodimentmay be used to determine whether the listener is part of university U23227 or not. However, the authentication process may be done in otherways, such as, using phone carriers identification or hardwareidentification (as described above with reference to FIG. 27).

Company C may use the same wave tag 3283 to represent differententities. For example. sound tag C3 3283 may show different data for X1when listed in California, show another data when listed in Texas(represented by X1(t) 3284) and show a customized promotion for X1 whenlisted in California for students of U1 (represented by X1(c, U1) 3285),and another customized promotion when listed in Texas for students of U2((represented by X1(t, U2) 3286), etc.) as multiple private tags for thetwo companies A and B. Company C may be using a sound tag C3 3283 for abook promotion in radio, sound tag C3 3283 may map to either aCalifornia tourist guidebook for university U2 students X1(c, U2) 3286or a Texas tourist guidebook X1(t) 3284 based on the relatedbroadcasting or/and capturing device parameters. FIG. 32 also showsdifferent entities based on the authenticated user who uses the capturerembodiment. For example, if there are two capturing devices usingverified email address for two different university U1 3228 and U2 3227,the wave tag may show different entities (e.g., different promotions)based on the university. The wave tags may show different customizeddata for X1(c,U1) and X1(c,U2) as mentioned above.

When company C 3203 is asking for tags, they may provide moreinformation regarding the company itself and the mapping entities. Thewave tag generator may use the information and may decide which tag toassign or how to generate new wave tags according to the entityinformation (e.g., as shown in table 1000 table in FIG. 10). The wavetag may use specific signaling blocks including the start and endsignals for each case based on the provided information. For example, ifthe entities are unique themselves, such as, URLs, barcodes, emails,university IDs, and other unique entities, the wave tag may use specificstart and/or end signaling wave blocks for each of these types of uniqueidentifications.

Therefore, when a wave tag with ‘barcode specific starting block’ iscaptured, the capturer would know the wave tag is a barcode and maytreat the mapping data as barcode and may show the product correspondingto that barcode instead of the barcode number itself (i.e., one extralevel of mapping may be done). In addition, the encoded barcode may beused as a unique identifier data itself along with the signaling blocksso it is possible to just locate and possibly decode or decipher thedata as what signaling block conveys in the receiver without asking formapping data or decoding the wave tag itself (as shown in FIG. 24B,block 2485) since the mapped data is the same as the decoded data andmay be extracted in other ways.

It may be possible to reserve a specific signaling block for short datatype tags (FIG. 24B, block 2480). The short Data is when a company wantsto map a short data to itself, for example, company C may ask for a wavetag for their brand name N. The brand N may be encoded as a body waveblock and may be placed between the signaling blocks. When the shortdata signaling wave block is captured, the capturer recognizes it as ashort data. The capturer, therefore, may treat the rest of the waveblocks as encoded short data and may locate and decode data from thecontent and context accordingly. However, all type of data regardless oftheir nature or purpose whether a unique identification, short data, orother types may be treated same way and may be randomly assigned tounassigned tags in a pool of wave tags (FIG. 24, block 2460).

Wave tags may be made of multiple blocks of wave blocks includingstarting and ending signaling wave blocks with possible wave blocksbetween them. The wave tag assignment may, therefore, be based onpredefined rules or standards. For example, wave tag assignment from thewave tag pool may consider the owner, the mapping entity, the purpose,and the method of use to pick the proper wave tag from the pool insteadof randomly picking one. In other words, each wave block in a wave tagmay specify something about the wave tag. For example, dedicatingdifferent starting wave blocks to different companies or different typesof entities so that the capturer devices may recognize the owner of thewave tag, or the mapping data type, just by looking at the firstsignaling unit of the wave tag. All wave tags assigned to company C 3203may start with the same starting signaling wave block and the wave tagsassigned to another company, such as company D, may start with anotherstarting signaling wave block (as described above with reference to FIG.9). However, the wave tag assignment may be done in a completely randomway.

As mentioned above, wave tags are made of multiple blocks of patternincluding starting and ending signaling wave blocks and possible waveblocks between them. These wave block units also enable company C 3203or the wave tag manager 100 (FIG. 1) to assign their reserved tags bypredefined rules. For example, for products in the company they may usewave tags with the same starting wave blocks or in case there are morethan one wave block in the middle (B1 813 and B2 814 schema in FIG. 8A),or using the same second wave blocks (S2 833 schema in FIG. 8B) and soon. In this case, the capturer may recognize that the wave tag is aproduct and may interpret it as a product (as described above withreference to FIG. 10).

Company C 3203 may use reserved or generated wave tags in a customizedformat for many use cases including, but not limited to, using them indifferent contexts. Sometime company C 3203 may be trying to somehowblend the wave tag into the main content or use the content to generatetheir wave tags. For example, tag A2 3242 may be used as part of anadvertisement or in background of the main content implicitly (the waveblocks may be created using method in FIG. 26). On the other hand, theuser of the capturing device may easily distinguish wave tag from thecontent (it sounds differently) anytime even without extracting andcapturing it. However, to see the mapping entity (i.e., what the wavetag means), they have to be recognized and captured by the capturer. Thecapturer may list any tag broadcasted during the advertisement includingthose in the background (implicit) or distinguishable wave tags(explicit). The implicit wave tags may be, for example, a small part ofthe background music (FIG. 26) so that it is difficult or impossible forthe user of the capturing device to distinguish it from the main contentunless the capturer is on and lists the wave tag. The light tag may beimplicitly broadcasted as part of background light pattern.

The wave tag may be used as non-printed version of a barcode or QR code.If company C 2403 has requested a wave tag to be broadcasted implicitlyin the targeted context, the wave tag generator may generate, broadcast,or use the wave tag based on the context in which the wave tag may beused or may use a custom tag to hide tag in the context.

For example, a small part of the background music may be used as thewave tag mapping to a different entity. Company C 2403 may send theadvertisement itself along with their wave tag request and the mappingentity (as described above with reference to FIG. 11) to the wave tagmanager 100. Let's assume the wave tag generator picks a three secondspart of the advertisement as public, or private sound tag and map theentity to the requested entity. However, an explicit sound tag may stillbe generated for the same entity. Multiple customized tags may be neededfor different context for the same product X1 3250.

The same approach for light tag or other types of wave tag may be used.For example, a particular part of the main light pattern or video may beused as a wave tag representing a specific entity. For implicit wavetags that are not sound or light tags, a specific wavelength inbackground may be used to generate the wave tags. For example, the wavetags may be used by a radio station as a small duration of frequencychange pattern.

The capturer device may keep all or part of the mapping table and therequired mapping functions encrypted or as plain data and sometimemapping function locally so that the capturing device may do the mappingwithout accessing the database or the remote server as shown in 33.

FIG. 33 is a functional diagram illustrating an example embodimentswhere a portion of the wave tags to the corresponding data items may bekept at the local capturing devices, according to various aspects of thepresent disclosure. With reference to FIG. 33, the sound tags 3351-3352are broadcasted to the capturing devices 3301-3323. Each capturingdevice 3301-3323 may have a corresponding local table 3310-3330 that maymap wave tags to the data items identified by the wave tags. Thecapturing devices 3301-3322 may recognize the wave tag C1 3351. Thecapturing devices 3301-3322 may first check their corresponding localtable H1 3310 or H2 3320. If the wave tag C1 3340 is found in thecorresponding local table, the wave tag C1 is used to find the data itemin the local table and to return the mapping data.

Otherwise, If the wave tag C1 3340 is not found in the correspondinglocal table, the capturing device may request (or may perform) a searchin the global mapping table 3370 maintained at a remote server until themapping record is successfully found. An organization, such as companyC, may keep all or part of reserved tags on their servers or on theircapturing devices. This enables the capturing devices to process themapping offline and without accessing the remote servers and the remotedatabases.

Company C may be provided a hardware loaded with the informationrequired to recognize the captured wave tag or broadcast their reservedtags (3018B, 3016B, 3001A in FIG. 30). The hardware may be a USB, achip, or any piece of accessory loaded with part or all of the mappingtable, the mapping function, and the required parameters.

The hardware may function as an authentication embodiment, a capturerembodiment, a generator embodiment, or a combination thereof on a devicesuch that the public, private tags may be used locally. For example,authentication embodiment may restrict the recognition of the capturedprivate tags or the ability to broadcast specific tags. As mentionedabove, the company may also be provided with a client software on adevice. The Hardware or software embodiments may be restricted to beinstalled on one or multiple devices. In the case of wave tag, thereceiver may automatically capture while receiving signals, for examplethe capturer may be an embodiment in the car (e.g., the item H3 3303 ofFIG. 33) which may capture all wave tags broadcasted through the radiosignals or specific frequency.

FIG. 34 is a functional diagram illustrating alternative approaches forimplementing different aspects of the present embodiments. The wave tagsare artificial sound, light, or other types of wave patterns that thepresent embodiments generate in a way that each wave tag is distinctivefrom the other wave tags. Some embodiments may include four maincomponents that may be implemented in alternative ways (wave taggeneration module M 3401, feature extraction module M1 3402, wave tagassignment module M2 3403, and wave tag access module 3404).

For example, wave tags may be generated in possible alternative ways(module M 3401) as long as they may be distinctive enough from theexisting wave tags (Module M1 3402). Fingerprints 3410 of sound, videoor any appropriate file may be used to compare them with the fingerprintof the existing wave tags. Fingerprint of a media file may be somerecords in a database, a video, images, or a text file generated afteranalyzing the sound or video and representing the sound or video usingthe characteristics of the signals including frequency, notes.

Other feature extraction methods may be used, including machine learningalgorithms to find the match in wave tag database or adding new wavetags into the existing wave block pool. For module M2 3403, differentlogics may be used for the assignment of wave blocks in the wave tags.For example, using different signaling wave blocks, different number ofwave blocks in the wave tags, different wave tag schemas (describedabove with reference to FIG. 7) may be used in M2 3403. There may bealternative implementation for M3 3404, for example, by using adifferent setup for moving the sliding window approach (described abovewith reference to FIG. 19). A different approach may be used to performthe matching phase, for example, by using machine learning matching ordifferent image or video processing algorithms.

FIG. 41A is a schematic front view of a computing device that maydisplay a user interface 4100 with several options 4101-4106 forselecting use cases of wave tags. FIG. 41B is a schematic front view ofa computing device that may display a user interface 4110 forconfigurating of the wave tags for various use cases and provideparameters for the wave tags.

With reference to FIG. 41A, individual persons or businesses may explorethe use cases 4101-4106 and request wave tags for their needs. The userinterface 4110 of FIG. 41B may be displayed, for example, after theoption 4101 is selected in the user interface 4100 of FIG. 41A. Withreference to FIG. 41B, a requester may attempt to perform a financialtransaction from the use case page (4111). The use case page 4111 mayinclude overview, documentation, fee and pricing, and sampleready-to-use user interface for the users and the developers to use wavetag for that use case.

In the example of FIG. 41B, the use-case includes performing a financialtransaction. As shown in page 4112, the requester may specify the amountof money to transfer and connect a payment method, such as cash payment(e.g., with PayPal, Venmo, etc.), credit card payment (e.g., Visa,Mastercard, Stripe, etc.), bank account, credit balance, financialassets, crypto currency, or digital assets to pay the amount along withpossible transaction fee and optional redeeming code. As shown in page4113, the requester may provide a set of sound tag generationparameters. The sound tag generator may generate a financial transactionsound tag and may let the requester save the sound tag on the phone,share the sound tag to a social media profile to be broadcasted later orbroadcast the sound tag immediately (as described below with referenceto FIG. 41C). In the capturing device, the sound tag is captured,fingerprinted, and compared to the existing tags to find the match. If avalid financial tag is detected as a financial transaction, thecapturing device (e.g., smartphone, laptop, tablet, smart watch, or acomputing device) may request for the method of withdrawal (e.g., withPayPal, Venmo, Stripe, bank account, credit balance, financial assets,crypto currency or digital assets). The person using the capturingdevice may accept the transaction and withdraw the money using anymethod of payment (as described below with reference to FIG. 41D).

For performing a share operation use case, the requester may specify thecontent to share using a share button. The sound tag generator maygenerate or assign a sharing sound tag and may let the requester savethe sound tag on the phone, share the sound tag to a social mediaprofile to be broadcasted later or broadcast the sound tag immediately.In the capturing device, the sound tag may be captured, fingerprinted,and compared with existing tags to find a match. If the valid sharingtag is detected, the capturing device (e.g., smartphone, laptop, tablet,smart watch, computing device, etc.) may ask for the method of sharingwith social media profile, third party applications, or method of savingthe shared information (in other cases, e.g., for multimedia method ofdownloading the file and method of storing the file like save in Googledrive, save in phone, drobox or send it to specific messagingapplication or third-party application).

For performing an authentication operation or login process use case,the requester may specify the one or more of access tokens, accesscredentials or access link. The requester may provide a set of sound taggeneration parameters. The sound tag generator may generate anauthentication sound tag and may let the requester save the sound tag onthe phone, share the sound tag to a social media profile to bebroadcasted later or broadcast the sound tag immediately.

In the capturing device, the sound tag may be captured, fingerprinted,and compared with the existing tags to find a match. If a validauthentication tag is detected, the capturing device (e.g., smartphone,laptop, tablet, smart watch, computing device, etc.) may ask to use theaccess credentials to authorize the capture device access to theinformation.

In addition, performing an authentication in a multi factorauthentication may be done using wave tags. The requester may specifyoptional requester related parameters like account identification ordata passed from first step of authentication along with a set of soundtag generation parameters. If no parameters are provided, detecting avalid wave tag itself may be a success authorization. The sound taggenerator may generate a sound tag mapping to the requester relatedparameters and may let the requester save the sound tag on the phone,share the sound tag to a social media profile to be broadcasted later orbroadcast the sound tag immediately. In the capturing device, the soundtag may be captured, fingerprinted, and compared with the existing tagsto find a match. If a valid second factor authenticator tag is detectedand corresponds to the requester, the capturing device (e.g.,smartphone, laptop, tablet, smart watch, computing device, etc.) mayauthorize the capture device to proceed.

For performing decryption operation use case, the requester may specifythe data, such as, encrypted files, multimedia files, or text along withan encryption algorithm if other than the default option, such as publickey encryption. The requester may provide a set of sound tag generationparameters. The sound tag generator may generate or assign a decryptionsound tag which may be mapped to the decryption key and may let therequester save the sound tag on the phone, share the sound tag to asocial media profile to be broadcasted later or broadcast the sound tagimmediately. The encrypted data also may be ready to download or shareand to be decrypted in future. The public key used for encryption mayalso be shared for future encryption uses. In the capturing device, thesound tag may be captured, fingerprinted, and compared with the existingtags to find a match. If a valid decryption tag is detected, thecapturing device (e.g., smartphone, laptop, tablet, smart watch,computing device, etc.) may ask to choose a method to provide theencrypted data to be decrypted by uploading the encrypted data. Adecryption operation may be applied using the mapped decryption key(private key) and decrypted data may be provided to store or share usingan interface.

As shown by 4113, the set of sound tag generation parameters may includevisibility 4115 and lifecycle 4116 parameters of the generated tags. Thelife cycle setup is using the schedule button 4116 in diagram. Lifecycle parameters may include expiration date of the sound tag, frequencyof usage limit, and redemption timer. For example, when the frequency ofusage limit is set to 1, the expiration date is set to 04/22/2022 12 PMPCT, and the redemption timer is set to 10 seconds, the sound tag may bedetected only one time with one device before 04/22/2022 12 PM PCT andnot after that time. Once captured and detected, the wave tag has to beused, redeemed, or spent in the next 10 seconds after broadcasting thesound tag or the wave tag may not be mapped. The default value may beset for these parameters. These parameters may be set for all wave tagsfor different use cases if needed.

FIG. 41C is a schematic front view of a computing device that maydisplay a user interface 4120 for storing, sharing, and exporting wavetags for various use cases for future or immediate broadcasting,according to various aspects of the present disclosure. Once the wavetags are created, they may be shared on social media or messagingapplications or stored in storage or could. The owner can broadcast thewave tag later.

FIG. 41D is a schematic front view of a computing device that maydisplay a user interface 4130 for handling a detected wave tag in acapturing device, according to various aspects of the presentdisclosure. In the example of FIG. 41D, the wave tag has been detectedas a $500 dolor value transaction. The capturing device (e.g.,smartphone, laptop, tablet, smart watch, computing device, etc.) may askfor a method of withdrawal (e.g., with PayPal, Venmo, Stripe, bankaccount or credit balance, financial assets, crypto currency or digitalassets, etc.). In this example, the capturer is using Venmo ID to acceptthe transaction and withdraw the money. This diagram also represents thetransaction log and may be used for bookkeeping purposes.

FIG. 41E is a schematic front view of a computing device that maydisplay a user interface 4140 for handling detected private wave tags ina capturing device, according to various aspects of the presentdisclosure. In the example of FIG. 41E, a private wave tag representinga file is detected. When the wave tag is private and the capturer is notauthorized to see the content, this sample page may be used to authorizethe capturer. The authorization process may bind to an account inspecific application, or also specific software, hardware. For example,the wave tag may be restricted to a specific browser or specific cookiesstored inside the browser. The wave tag may be restricted to specificlocation and if the capturing device is not in that location. Insummary, we may show this page and ask for resolving the restriction(location, login to account, setting cookies) to proceed.

FIG. 41F is a schematic front view of a computing device that maydisplay a user interface 4150 for managing active wave tag services forprojects and businesses, according to various aspects of the presentdisclosure. In the example of FIG. 41F, there are two services enabledfor specific project or business. The first service 4151 is anauthentication service and second service 4152 is a payment service. Theset of actions may include one or more of performing an authenticationoperation, login process or second factor authenticator. The requestermay enable authentication service by specifying at least one method ofrequesting with, for example, a share button for the service andreceiving credentials to use the service or use them in softwaredevelopment kits (SDKs).

Using the credentials, the sound tag generator may generate or assign asound tag upon each request and may let the requester save the sound tagon the phone, share the sound tag to a social media profile to bebroadcasted later or broadcast the sound tag immediately. In thecapturing device (using login with wave tag button), the sound tag maybe captured, fingerprinted, and compared with existing tags to find thematch. If the valid tag is detected as a sharing sound tag, thecapturing device (e.g., smartphone, laptop, tablet, smart watch,computing device, etc.) may ask for a method of storing the informationwith Google drive, drobox, phone storage, or any third-party applicationor user account or method of forwarding information into social media ormessaging applications with displayed shortcuts. The requester maymonitor the sharing operations using the service credentials inreal-time and may stop or start the service upon the request. Theoptional service fee may be applied based on overall usage of theservice in pay as you go or subscription model.

For a wave tag for payment service, the set of actions may includefinancial transactions. The requester may enable transaction service byconnecting at least one payment method, for example, with PayPal, Venmo,Stripe, bank account, credit balance, financial assets, crypto currency,or digital assets to the service and may receive credentials to use theservice or use them in SDKs. Using the credentials, the sound taggenerator may generate or assign a financial transaction sound tag uponthe request and may let the requester save the sound tag on the phone,share the sound tag to a social media profile to be broadcasted later orbroadcast the sound tag immediately.

In the capturing device, the sound tag may be captured, fingerprinted,and compared with the existing tags to find a match. If a validfinancial tag is detected as a financial transaction, the capturingdevice (e.g., smartphone, laptop, tablet, smart watch, computing device,etc.) may ask for method of withdrawal such as, with PayPal, Venmo,stripe, bank account or credit balance, financial assets, cryptocurrency or digital assets. The capturer may withdraw the money using atleast one method of payment. The requester may monitor the transactionoperations in the service using the service credentials in real-time andmay stop or start the service upon the request. The optional service feemay be applied based on overall usage of the service in pay as you go orsubscription model.

For wave tag for sharing service, the set of actions may include sharingoperations. The requester may enable sharing service by specifying atleast one type of information and method of sharing, for example, sharebutton for the service and receiving credentials to use the service oruse them in SDKs. Using the credentials, the sound tag generator maygenerate or assign a sound tag upon each request and may let therequester save the sound tag on the phone, share the sound tag to asocial media profile to be broadcasted later or broadcast the sound tagimmediately. In the capturing device, the sound tag may be captured,fingerprinted, and compared with the existing tags to find a match. If avalid tag is detected as a sharing sound tag, the capturing device(e.g., smartphone, laptop, tablet, smart watch, computing device, etc.)may ask for a method of storing the information with Google drive,drobox, phone storage, or any third-party application or user account ormethod of forwarding information into social media or messagingapplications with displayed shortcuts. The requester may monitor thesharing operations using the service credentials in real-time and maystop or start the service upon the request. The optional service fee maybe applied based on overall usage of the service in pay as you go orsubscription model.

For wave tag for encryption service, the set of actions may include oneor more of performing encryption operation. The requester enablesencryption service by specifying at least one method of requesting, forexample, an encrypt button for the service and at least one method ofencryption, for example, RSA algorithm and receiving credentials to usethe service or use them in SDKs. Using the credentials, the sound taggenerator may generate a sound tag upon each request and may let therequester save the sound tag on the phone, share the sound tag to asocial media profile to be broadcasted later or broadcast the sound tagimmediately.

The encrypted data also may be ready to download or share and to bedecrypted in future. The public key used for encryption also may beshared for future encryption uses. In the capturing device, the soundtag may be captured (by clicking the decrypt button), fingerprinted, andcompared with existing tags to find the match. If the valid decryptiontag is detected, the capturing device (e.g., smartphone, laptop, tablet,smart watch, computing device, etc.) may ask to choose a method toprovide the encrypted data to be decrypted by uploading the encrypteddata. A decryption operation may be applied using the mapped decryptionkey (private key) and decrypted data may be provided to store or shareusing an interface. In the capturing device, (e.g., smartphone, laptop,tablet, smart watch, computing device, etc.) may ask for a method ofstoring the decrypted information with Google drive, drobox, phonestorage, or any third-party application or user account or method offorwarding information into social media or messaging applications withdisplayed shortcuts. The requester may monitor the sharing operationsusing the service credentials in real-time and may stop or start theservice upon the request. The optional service fee may be applied basedon overall usage of the service in pay as you go or subscription model.

FIG. 42A is a schematic front view of a computing device that maydisplay a user interface for using a wave tag as a sharing tool alongwith existing ones, according to various aspects of the presentdisclosure. As examples, two ways of using wave tags as a sharing optionare displayed. A share button 4203 along with number of detections sofar 4204 (as shown by 4201) and an option in share dropdown menu in thecorner (as shown by 4202). In both ways, broadcasting a wave tag as acontent sharing operation (URL, multimedia file, contact addresses). Therequester may specify the content to share using a share button (may betyping manually or by voice). The sound tag generator may generate orassign a sharing sound tag and may let the requester save the sound tagon the phone, share the sound tag to a social media profile to bebroadcasted later or broadcast the sound tag immediately.

In the capturing device, the sound tag may be captured, fingerprinted,and compared with the existing tags to find a match. If a valid sharingtag is detected, the capturing device, (e.g., smartphone, laptop, table,smart watch, or computing device) may ask for the method of sharing withsocial media profile, third party applications, or method of saving theshared information (in other cases, e.g., for multimedia method ofdownloading the file and method of storing the file like save in Googledrive, save in phone, drobox or send it to specific messagingapplication or third-party application). In other cases, for example formultimedia an interface similar to file uploader, and for contactaddresses an interface similar to a phonebook may be used to pick numberor social media id.

FIG. 42B is a schematic front view of a computing device that maydisplay a user interface 4210 for using a wave tag in a decryption orunzipping process, according to various aspects of the presentdisclosure. Files that are encrypted or zipped using encryption orcompression algorithms but may be decrypted or uncompressed by applyingthe decryption key acquired by a wave tag. The encrypted file with awave tag as key may be shown in specific extension or icon. Clicking onfile and holding it to capture and detect the wave tag is a sampleprocess that is shown in this diagram. For sound, the button may bemicrophone that is recording while holding the button and detecting thewave tag once released.

FIG. 42C is a schematic front view of a computing device that maydisplay a user interface 4220 for using wave tags in a transferringmedia files and example of using the wave tags in a messagingapplication as additional way of sharing data, according to variousaspects of the present disclosure. The figure is an example of a userinterface 4220 to upload a file and generate or assign a wave tag uponupload. The wave tag may be used as alternative way to share file.

FIG. 42D is a schematic front view of a computing device that maydisplay a user interface for using wave tag as a method of payment alongwith existing payment options and example of detecting a valid wave tagin capturing device to process a payment, according to various aspectsof the present disclosure. The figure is an example of user interfaceoffering wave tag as a payment option using a payment button thatcapture and detect transaction wave tags. For sound, the button may bemicrophone that is recording while holding the button and detecting thewave tag once released.

FIG. 42E is a schematic front view of a computing device that maydisplay a user interface for using a wave tag as a method of login or astep in a multifactor authentication, according to various aspects ofthe present disclosure. The figure shows a sample user interfaceproviding login with wave tag as a login option. For sound, the buttonmay be microphone that is recording while holding the button anddetecting the wave tag once released.

II. EXAMPLE EMBODIMENTS

This section provides further details and several example embodiments ofthe present disclosure. The embodiments of the present disclosure relateto the art of identification and classification and has particularrelation to identification and classification through the medium ofidentifying patterns in non-printed synthetic identifier tags. Anon-printed detectable identifier for inputting information into thecomputer or like that. And more particularly to a vocally or “visuallynon-printed” or unique wave signal which is distinguishable tonerepresenting some standardized characteristic, code or data placed inthe tone blocks called a TonoTags so as to form a pattern. The Patternsare not necessarily meaningful, but they can be mapped to somethingmeaningful.

This invention can be explained as non-printed version of barcode or QRcodes. Although they are made to be scanned at least one time usingoptical device to input information into computer or like that. However,TonoTags are not printed somewhere and they do not need to be visibleand scanned instead they are unique pattern of sound, light or wavesignals that can be captured by capturing operation and inputinformation into the computer or like that. Namely, information can be,not limited to, Uniform Resource Locators (URL), phone numbers,addresses, product numbers or personal identifiers, activity identity,function identifier or short data blocks.

Some embodiments provide a novel synthetic non-printed identifierpattern called Tonotag. Tonotag is non-printed standardizedidentification tag representing things. TonoTags are highlydistinguishable and may obey some predefined rules when they are beingcreated so that they can be recognized by excellent accuracy during thecapturing operation. So there is a novel invention to generate TonoTags.And a novel invention for capturing non-visual or non-printed code.

In order to accomplish this and other related objects, a first aspect ofthe present invention provides a non-visual and non-printed code we callTonoTags comprising: Tonoblocks, each representing all or part of data;the Tonoblocks being placed on a Tonotag as patterns or special tone. Soas to be readable by a Tonotag scanning operation along a predeterminedscanning tones. And at least two signaling tones disposed atpredetermined positions in the Tonotag. Each of the signaling toneshaving a tone pattern capable of generating a tone that can trigger theTonotag capturing device for some operations. As it mentioned thereshould be at least two signaling tone which trigger tt start and tt endspecifying start and end of the Tonotag. (Unique tone characteristic,special tone, light . . . )

Tonotag refers to three classes of non-printed synthetic identifier tagssoundTag, LightTag and WaveTag. We decided to explain each categoryseparately. SoundTags are TonoTags which specify the pattern, code ordata using a unique standardized block of sound which can be audible ornot audible by humans but detectable. Yet, the LightTag is a form ofTonoTags which specify the code or data using a unique standardizedblock of synthetic light patterns which can be visible or not visible byhumans but detectable. And the WaveTag specify the code or data using aunique standardized block of wave pattern which can be generate inspecial frequency.

Since we have three classes for TonoTags we have three kind of Tonotagcapturing operation, SoundTag capturing operation, LightTag capturingoperation, WaveTag capturing operation.

TonoTags are both for general purpose or private purpose usage. Thereare reserved and general purpose TonoTags. Reserved TonoTags can be readwith just the owners or internally, in the other hands general purposeTonoTags can be read with all Tonotag capturing device.

SoundTag

In the SoundTag, it is preferable that the predetermined signaling toneshas a pattern that can distinguish it from other sound, voice or noisesin the environment, Before starting SoundTag there might be a Tonotagtrigger which might be a specific pattern or tone that informs us aboutcoming Tonotag. Also there are provided a series of timing tonesincluding specific sound pattern which repeat many time during theSoundTag. Timing tones also ensure that we are encountered with anactual Tonotag. Basically SoundTags created by SoundTag units. SoundTagunits may have different tones which represent all or part of datanon-printed identifier. If same units occur multiple time they mightrepresent something else. The combination of different SoundTag unitswith different tone or occurrence represent fundamental building blocksof TonoTags. The fastness of playing these SoundTag units also mightchange the Tonotag interpretation. So TonoTags interpretation mightchange by changing tone, occurrence and fastness of them. Inside theSoundTag there at least two signaling units. Start signaling unit andend signaling units are the minimum signaling units. The rest of theSoundTag creates data or body section of the Tonotag. Data units includebut not limited to an identifier, the data owner, data type and dataport.

LightTag

In the LightTag, it is preferable that the predetermined signaling toneshas a pattern that can distinguish it from other lights in theenvironment. Usually there might be a specific Tonotag trigger beforeeach LightTag with specific pattern or light characteristic that informus about upcoming LightTag. Also there are provided a series of timingtones including specific light pattern or light type which might repeatmany time during the LightTag. Timing tones also ensure that we areencountered with an actual Tonotag. Basically LightTags created byLightTag units. LightTag units may have different tone orcharacteristics which represent all or part of data or non-printedidentifier. Among characteristics that can generate unique LightTagsrepresenting different interpretation are wavelength, color, spectra orfrequency of occurrence or order of appearance of different type oflight patterns. The combination of different LightTag units withdifferent tone or occurrence represent fundamental building blocks ofLightTag. Inside the LightTag there at least two signaling units. Startsignaling unit and end signaling units are the minimum signaling units.The rest of the LightTag create data or body section of the Tonotag.Data units include but not limited to identifier, data owner, data typeand data port. LightTags preferably works in visible light spectrum sothat they can be captured and analyzed by devices like camera or lightsensors.

WaveTag

WaveTag is basically is like LightTags but they are usually unique byhaving different wave characteristic like frequency. WaveTags are notnecessary work in detectable wavelength by human. Usually there might bea specific WaveTag trigger before each WaveTag with specific pattern orwave characteristic that informs us about upcoming WaveTag. Also, thereare provided a series of timing wave tones including specific wavepattern or wavelength which might repeat many times during the WaveTag.Timing tones also ensure that we have encountered with an actualWaveTag. Basically, WaveTags are created by WaveTag units. WaveTag unitsmay have different tone or characteristics which represent all or partof data or non-printed identifier. Among characteristics that cangenerate unique WaveTags representing different interpretation arewavelength or frequency of occurrence or order of appearance ofdifferent type of wave patterns.

Preferred embodiments of the recognizable non-printed standard codesrepresenting entities in physical world (e.g., products) or cyberenvironment like Uniform Resource Locator (URL), email, phone, personalIDs, product IDs or any kind of existing unique identification, therelated method and apparatus using the same in accordance with thepresent invention will be explained in greater details hereinafter, withreference to the accompanying drawings. Identical parts are denoted byidentical reference number throughout the views.

To begin, the existing gap for representing and classifying entities isshown with reference to the Table 1 in FIG. 35. Printed versions likebarcodes and QR codes are used as labels on products to be read by anoptical device. However Tonotags are used as non-printed synthesizedtags which can be identified by capturing operation to identify thecorresponding entity without visually scanning codes or tags. So clearlythere is a need for non-printed standard synthesized identificationmedia to cover those gaps.

FIG. 36 shows one embodiment of a Tonotag lifecycle in accordance withthe present invention. This Tonotag 2 is a distinguishable non-printedunique code, data or pattern representing things in the real world.Tonotags are generated by embodiment 1 which might be software or ahardware or like that capable of generating these unique non-printeddistinguishable standardized tags representing things in the real world.The Tonotag 2 is non-printed standardized codes and can be in sound,light or wave format. Embodiment 1 can be light, sound or wave pattern(tone) generator which generates distinguishable tones. Embodiment 1also might have a broadcast or dispatch controller which manages thebroadcast mode or manipulates the Tonotags patterns or parameters, so itlimits or expands the possible receiver of the Tonotag. Embodiment 3 isthe Tonotag capturer which can be setup so it can capture broadcastedTonotags. The main two setup are manual and automatic (Live) mode. Moredetails about these two modes in FIG. 38. When capturer is set, waitsfor Tonotag triggers. Triggers activate the capture operation in thecapturer embodiment 3, Capture operation is explained in FIG. 39.Embodiment 4 which is activated by embodiment 3, captures Tonotags aftereach trigger detected. Embodiment 5 inside the capturer is the mappermodule which interprets each Tonotag and maps it (items 6A or 6B) to aunique standardized code 7 representing something. Each Tonotag mighthave a record in Tonotag index table (6B). However Tonotag can be mappeddirectly (item 6A) without using data tables in some cases based on thenature of what the Tonotag represents. The captured Tonotags would belisted in an interface 8 inside the capturer. Each captured Tonotagwould be listed as a calling data port in interface 8. Click or callingeach Tonotag presents the actual thing or information about the thingsthat it is representing. The calling ports might trigger any otheractions 9 including generation of another Tonotag. Using interface 10 weunderstand the things that the Tonotag represents.

Next, a series of processes ranging from the receiving an original datato be represented by Tonotag to generating the Tonotag and eventuallybroadcast operation in accordance with the present invention will beexplained with reference to FIG. 37. This processing is executed by asignal/sound/light processing apparatus of a Tonotag broadcastingmachine that is not shown.

First of all, data is set in a work memory (Step 101). Then, the natureof the Tonotag data is received by the generator component (Step 102).Subsequently, a judgement is made as to whether the Tonotag data natureis short data, unique identifier or unique port index or other supportednatures (Step 103). Next step is based on the previous judgment. If thenature is a unique identifier representing something, next step is toreceive the id and id type (Step 104A). If the nature is a short datarepresenting something in the real word next step is to process the datalike encoding or compressing the data (Step 104B). Otherwise if theTonotag nature would be a unique port index we have two processes inparallel. One is to create a unique port identifier using the Tonotaggenerator processing Unit and save or update the port index record inthe index data table (Step 104C). In either case we will have anIdentifier representing something, Tonotag nature and the identifiertype however we can use other flags and parameters if it is required.Using current parameters generator create a final identifier (Step 105).The Tonotag generator can generate different types of non-printed uniqueidentifiers. The main ones are in sound, light or wave format. So, inthe next step a judgement is made as to whether the Tonotag output typeis sound, light or wavelength (Step 106). Next step is based on theprevious judgement to load corresponding generator light, sound orsignal generator (Step 107A, 107B, 107C). In next step a judgment ismade as to whether the Tonotag should be broadcasted implicitly orexplicitly (Step 108). Next step is according to previous step settingup the Tonotag to broadcast the Tonotag implicitly in the background orusing clearly detectable Tonotag (109A, 109B). Then, the broadcastingoperation is executed based on broadcast parameters which manipulate theTonotag so limit or expand the number of devices that can capture andread the Tonotag (Step 110).

Next reading processing will be explained with reference to the flowcharts of FIG. 38 and FIG. 39. For this processing, a Tonotag capturerdevice is required to be setup and ready to listen to broadcastedTonotags generated by Tonotag generator. There are two main setups toactivate the Tonotag capturer; manual and automatic (Live) mode. If thecapturer is in live mode, it listens or waits for detecting the Tonotagtrigger. Anytime it detects a trigger it goes to the next step toactivate capturer and start Tonotag capture operation which will bedescribed in FIG. 39. If the capturer device is in manual mode, itcaptures the current broadcasted Tonotag. The capturing process repeatsuntil the off command is executed. Based on the Tonotag input type,camera, microphone or corresponding receiver is required. A capturer(FIG. 38), comprising a CPU, a ROM, a RAM and an I/O unit, receive thetone (sound/light/wave or any non-printed standardized identifier) intothe capturer, as shown in FIG. 39. The trigger in automatic mode can beas simple as periodically checking for Tonotag every 10 second or onlyactivating the capturing process once specific starting block or triggersignal detected. Every time any type of trigger detected we startcapturing process accordingly from 405. When capturer in manual mode itcapture

According to FIG. 39 after Tonotag capture operation started bydetecting a Tonotag trigger (Step 401), based on the type of Tonotaginput corresponding receiver will be activated (Step 402). Namely, thesoundTag received by something like microphone (Step 403B), the lightTagcan be received by something like light sensor or camera (Step 403C),and the WaveTag can be received by Bluetooth or any wave receiverapparatus (Step 403A).

The received sound/light/wave slots saved are successively stored into amemory (RAM) as appropriate media file and will be used to see if it isa valid tag or not (Step 404). Meanwhile, as parallel processing, Thetiming signs of Tonotag will be detected using predefined rules (Step405). The capturing process will not go to the next step unless at leastthe start and end signaling units are detected (Step 406). Based ontiming signs coordinates of the Tonotag, body will be detected andextracted based on the timing signs (Step 407). Namely, the specificpattern (i.e. the frequency component ratio) could be used as a timingsign. Then the capturer interprets the Tonotag body and the Tonotag bodynature based on extracted parameters of the Tonotag. The capturingprocess will not go to the next step unless the nature is interpreted.If there is just one supported Tonotag body nature, we can skip thisstep (Step 410). Next step would be based on the Tonotag body nature. Toname some; If the Tonotag body nature is a unique identifier we identifythe type and id (Step 411A), if the body should be interpreted as aunique port index we extract the port index (Step 411B) and if it shouldbe interpreted as a short data we interpret the data (Step 411C). Infirst or second case we need to have an extra step which is looking upfor related or mapped data for the extracted Tonotag interpretation(Step 412). Eventually the capturer lists the Tonotag interpretation forfurther inquiries or actions (Step 413). The reading operation repeatsas long as the capturer is active and receive Tonotag triggers (Step414).

FIG. 40—To clarify the described process of generating and capturing ofthe Tonotag and also realize the benefit of Tonotag, we have decided toexplain one of the major use-cases of the proposed invention. Thisuse-case is also itself a novel invention for solving a problem.Actually, this use-case is related to SoundTags which is one type ofproposed Tonotags. The SoundTags are highly applicable in radio stationsand radio programs. Obviously generally known radio stations usuallycommunicate with their audience using sound and audio. Namely, among theusual radio programs (502), there are audio storytelling, playing music,audio talk shows (502) or variety of special topic radio station likereligion-based or scientific-based radio programs. In addition to theseprograms there are radio advertisement.

Radios are great way to communicate and broadcast different kind ofinformation among wide range of audience since people usually spendconsiderable part of their daily time while driving or using publictransportation. In addition, there are many places in which theycommunicate with their audience using radio or audio-basedcommunication.

Obviously, inventions like barcodes or Qr-Codes or any other type ofproduct identifier codes won't work in these types of communicationssince all of existing standardized codes are in printed format and theyneed to be scanned at least one time using an optical code reader. Thislimitation stops radio stations to interact with their audienceefficiently and in two-way format.

Using proposed novel invention called TonoTags radio stations cangenerate different types of TonoTags (505) with different types of bodynature to interact with their audience. Thus, in this case, the radiostation would be the TonoTags generator directly or indirectly using themain TonoTags generator. In the other hand the audience (507A, 507B)will setup their TonoTags capturer (509) in Live or Manual mode tolisten and wait for TonoTag triggers. Afterward using described captureoperation, the Tonotags will be listed (506A, 506B, 506C) in aninterface. Each Tonotag show the thing it is representing on theinterface. Namely, executing click or other type of event on eachTonoTag might trigger another action (506B), activity (506A) orservices.

To name most important TonoTags that can be used in radio stationprograms would be Tonotags representing specific Uniform ResourceLocator (URL) (506C), Phone number (506A), address, and products (506B),services or even barcode and QRCodes themselves. It can also be a thinginside a private or public organization so that all or part of audiencewould understand (506A for 507A, 506B for 507B). Basically, Tonotagswould be used as ports to give the audience more information or showingthe specific interfaces so that they can ask audience to input orinitiate some kind of tasks, activities.

Meantime the radio is on and the program is on air the current programalso broadcasts related or non-related Tonotags so that audience cancapture those TonoTags using their Tonotag capturer and see additionalinformation or initiate some tasks or provide required information forthe playing radio programs. As it is clear now, so on there is a fulltwo-way communication between the radio program and the listeners whichcan do other things in addition to listening.

Tonotags also enable the audience to capture TonoTags for later so theycan check them in right time and right place (506D). So, as you see theaudience will be still connected to the radio program which otherwise itwas impossible.

TV programs would be able to use TonoTags as well with same mechanism.The use-cases for TV might be in same or different applications (501).

Tonotags also is making unique way of Radio Marketing. This novelinvention is also possible only with existence of some version ofTonoTag. We call this Interactive Radio marketing. To name somecharacteristic of interactive radio marketing, first of all there issomething like Tonotags so that the audience can capture usingnon-printed code and see more information about it and also there mightbe an interface which enables the users to buy the product or service orthe represented things afterwards. There is possibility that purchaserequest might be triggered directly right after capturing Tonotag.

Another activity that can be triggered right after capturing the Tonotagis to subscribe for something right after capturing its Tonotag.

III. COMPUTER SYSTEM

FIG. 43 is a functional block diagram illustrating an example electronicsystem 4300, according to various aspects of the present disclosure.With reference to FIG. 43, some embodiments of the invention, such asfor example, and without limitations, the wave tag manager 100, the wavetag requesting device 155, the broadcasting device 158, the wave tagreader/capture device 140, the mobile devices, the servers, thecomputers, etc., described above, may be implemented using theelectronic system 4300. The electronic system 4300 may be used toexecute any of the processes, methods, controls, or operating systemapplications described above. The electronic system 4300 may be acomputer (e.g., a desktop computer, laptop computer, a personalcomputer, a tablet computer, a server computer, a mainframe, a bladecomputer etc.), a phone (e.g., a smartphone), a personal digitalassistant (PDA), or any other sort of electronic device. Such anelectronic system may include various types of computer readable mediaand interfaces for various other types of computer readable media. Theelectronic system 4300 may include a bus 4305, processing unit(s) 4310,a system memory 4320, a read-only memory (ROM) 4330, a permanent storagedevice 4335, input devices 4340, and output devices 4345.

The bus 4305 may collectively represent all system, peripheral, andchipset buses that communicatively connect the numerous internal devicesof the electronic system 4300. For example, the bus 4305 maycommunicatively connect the processing unit(s) 4310 with the read-onlymemory 4330, the system memory 4320, and the permanent storage device4335.

From these various memory units, the processing unit(s) 4310 mayretrieve instructions to execute and data to process in order to executethe processes of the invention. The processing unit(s) may be a singleprocessor or a multi-core processor in different embodiments.

The read-only-memory 4330 may store static data and instructions thatare needed by the processing unit(s) 4310 and other modules of theelectronic system. The permanent storage device 4335, on the other hand,may be a read-and-write memory device. This device is a non-volatilememory unit that may store instructions and data even when theelectronic system 4300 is off. Some embodiments of the invention may usea mass-storage device (such as a magnetic or optical disk and itscorresponding disk drive) as the permanent storage device 4335.

Other embodiments may use a removable storage device (such as a floppydisk, flash drive, etc.) as the permanent storage device. Like thepermanent storage device 4335, the system memory 4320 may be aread-and-write memory device. However, unlike storage device 4335, thesystem memory may be a volatile read-and-write memory, such as randomaccess memory. The system memory may store some of the instructions anddata that the processor needs at runtime. In some embodiments, theinvention's processes may be stored in the system memory 4320, thepermanent storage device 4335, and/or the read-only memory 4330. Fromthese various memory units, the processing unit(s) 4310 may retrieveinstructions to execute and data to process in order to execute theprocesses of some embodiments.

The bus 4305 may also connect to the input and output devices 4340 and4345. The input devices may enable the user to communicate informationand select commands to the electronic system. The input devices 4340 mayinclude alphanumeric keyboards and pointing devices (also called “cursorcontrol devices”). The output devices 4345 may display images generatedby the electronic system. The output devices may include printers anddisplay devices, such as cathode ray tubes (CRT) or liquid crystaldisplays (LCD). Some embodiments may include devices such as atouchscreen that function as both input and output devices.

Finally, as shown in FIG. 43, the bus 4305 may also couple theelectronic system 4300 to a network 4325 through a network adapter (notshown). In this manner, the computer may be a part of a network ofcomputers (such as a local area network (“LAN”), a wide area network(“WAN”), an Intranet, or a network of networks, such as the Internet.Any or all components of the electronic system 4300 may be used inconjunction with the invention.

Some embodiments may include electronic components, such asmicroprocessors, storage and memory that store computer programinstructions in a machine-readable or computer-readable medium(alternatively referred to as computer-readable storage media,machine-readable media, or machine-readable storage media). Someexamples of such computer-readable media include RAM, ROM, read-onlycompact discs (CD-ROM), recordable compact discs (CD-R), rewritablecompact discs (CD-RW), read-only digital versatile discs (e.g., DVD-ROM,dual-layer DVD-ROM), a variety of recordable/rewritable DVDs (e.g.,DVD-RAM, DVD-RW, DVD+RW, etc.), flash memory (e.g., SD cards, mini-SDcards, micro-SD cards, etc.), magnetic and/or solid state hard drives,read-only and recordable Blu-Ray® discs, ultra-density optical discs,any other optical or magnetic media, and floppy disks. Thecomputer-readable media may store a computer program that is executableby at least one processing unit and includes sets of instructions forperforming various operations. Examples of computer programs or computercode include machine code, such as is produced by a compiler, and filesincluding higher-level code that are executed by a computer, anelectronic component, or a microprocessor using an interpreter.

While the above discussion primarily refers to microprocessor ormulti-core processors that execute software, some embodiments may beperformed by one or more integrated circuits, such as applicationspecific integrated circuits (ASICs) or field programmable gate arrays(FPGAs). In some embodiments, such integrated circuits may executeinstructions that are stored on the circuit itself. Some of the presentembodiments may include flexible circuit, also referred to as flexibleprinted circuit boards (PCBs). The flexible circuits may provide dynamicflexing and increased heat dissipation and may be used in theembodiments that require circuits with smaller footprint, increasedpackage density, more tolerance to vibrations, and/or less weight.

As used in this specification, the terms “computer”, “server”,“processor”, and “memory” all refer to electronic or other technologicaldevices. These terms exclude people or groups of people. For thepurposes of the specification, the terms display or displaying meansdisplaying on an electronic device. As used in this specification, theterms “computer readable medium,” “computer readable media,” and“machine readable medium” are entirely restricted to tangible, physicalobjects that store information in a form that is readable by a computer.These terms exclude any wireless signals, wired download

What is claimed is:
 1. A method of identifying data items by wavepatterns, the method comprising: at a wave tag generating device,defining a plurality of wave blocks, each wave block comprising a set ofunique features distinguishable from the unique features of other waveblocks in the plurality of wave blocks; at the wave tag generatingdevice, extracting the unique features of the plurality of wave blocks;storing the unique features of each of the plurality of wave blocks;defining a plurality of wave tags, each wave tag comprising a set of oneor more wave blocks from the plurality of wave blocks; storing a mappingof the set of wave blocks to the wave tag; at the wave tag generatingdevice, receiving a request for a wave tag to identify a data item;assigning a wave tag from the plurality of wave tags to the data item;broadcasting the set of wave blocks of the wave tag; at a capturingdevice, capturing the set of wave blocks of the wave tag; extracting theunique features of the set of wave blocks; identifying the set of waveblocks by comparing the extracted unique features of the set of waveblocks with the stored unique features of the plurality of wave blocks;identifying the wave tag by comparing the identified set of wave blockswith the stored mapping of the set of wave blocks to the wave tag; andidentifying the data item from the stored mapping of the data item tothe wave tag.
 2. The method of claim 1, wherein each wave tag isgenerated based on one of a plurality of schemas, each schema defining anumber of the wave blocks, an arrangement of the wave blocks in the wavetag, and a type of each wave tag, the type of each wave tag comprisingone of a signaling wave block and a body wave block.
 3. The method ofclaim 2 further comprising, for each signaling wave block, storing atleast one of a definition of the schema used for a corresponding wavetag and a category of data items assigned to the corresponding wave tag.4. The method of claim 2 further comprising, for each signaling waveblock, storing a set of one or more actions corresponding to the wavetag corresponding to the signaling block, the set of actions.
 5. Themethod of claim 4, wherein the set of action comprises one or more ofperforming a financial transaction and performing an authenticationoperation.
 6. The method of claim 2 further comprising assigning atleast one signaling wave block to identify a category of a productidentified by the data item.
 7. The method of claim 2 further comprisingassigning at least one signaling wave block to identify one of anorganization and a person associated with the data item.
 8. The methodof claim 1, wherein the data item is an encrypted data item requiring aset of one or more steps for decryption of the data item, the methodfurther comprising assigning a first plurality of wave tags fordecrypting the encrypted data, each wave identifying a data itemcomprising a key for one of the set of steps for decryption of the dataitem.
 9. The method of claim 1, wherein extracting the unique featuresof a wave block comprises generating a digital fingerprint of the uniquefeatures of the wave block.
 10. The method of claim 1, wherein the waveblocks are one of mechanical wave type wave blocks and electromagnetic(EM) type wave blocks, the mechanical waves comprising audible soundwaves and ultrasound waves, the EM waves comprising one of visible lightwaves, infrared light waves, ultraviolet light wave, radio waves,microwaves, and Bluetooth waves.
 11. The method of claim 10, wherein theset of wave blocks of the wave tag comprises at least two wave blocks,each being a different type of a mechanical wave block or an EM waveblock.
 12. The method of claim 1 further comprising displaying the dataitem on a display of the capturing device.
 13. The method of claim 1,wherein the wave tag assigned to the data item is a private wave tagaccessible to a subset of capturing devices, the method furthercomprising: storing a set of parameters the capturing devices that areauthorized to access the data identified by the wave tag; afteridentifying the data item from the stored mapping of the data item tothe wave tag, determining whether the capturing device is an authorizedcapturing device to access the data item; providing the data item to thecapturing device when the capturing device is an authorized capturingdevice; and preventing the capturing device from accessing the data itemwhen the capturing device is not an authorized capturing device.
 14. Themethod of claim 1, wherein the wave tag assigned to the data item is aprivate wave tag configured to be assigned to a particular set ofrequesting devices, wherein the eave tag is requested by a requestingdevice, the method further comprising: storing a set of parameters ofthe requesting devices that are authorized to request the data itemidentified by the wave tag; after receiving the request for the wave tagto identify the data item, comparing a set of parameters of therequesting device with the stored set of parameters of the requestingdevices that are authorized to request the data item; and providing thewave tag to the requesting device, after the capturing device isdetermined to be an authorized requesting device.
 15. The method ofclaim 1, wherein the data item is a first data item, wherein the wavetag is a first wave tag, wherein the set of wave blocks is a first setof wave blocks, the method further comprising: receiving a request for awave tag to identify a second data item, the request comprising a mediafile for generating wave tags; defining a second set of one or more waveblocks from the media file; extracting the unique features of the secondset of wave blocks; storing the unique features of each of the secondset of wave blocks; defining a second wave tag comprising the second setof wave blocks; storing a mapping of the second set of wave blocks tothe second wave tag; and assigning one or more wave blocks from thesecond set of wave blocks as signaling wave blocks.
 16. The method ofclaim 1 further comprising: defining a life cycle for the wave tag, thelife cycle definition comprising an expiring time for the wave tag;wherein after the expiration time, the wag tag is unassigned from thedata item and is included in a pool of unassigned wave tags.
 17. Themethod of claim 1 further comprising: defining a life cycle for the wavetag, the life cycle definition comprising a number of use of the wavetag; wherein after said number of use, the wave tag is unassigned fromthe data item and is included in a pool of unassigned wave tags.
 18. Themethod of claim 1 further comprising: at the wave tag generating device,defining a descriptor for the wave tag, the descriptor comprising adefinition of the set of wave blocks and a schema for generating thewave tag from the set of wave blocks; and from the wave tag generatingdevice, sending the descriptor to a wave requesting device; wherein thewave tag is generated by the wave requesting device using the wave tagdescriptor.
 19. A method of identifying data items by acoustic wavepatterns, the method comprising: at an acoustic wave tag generatingdevice, receiving a request from a requestor to generate acoustic waveblocks from a media file comprising acoustic data; defining, from themedia file, a plurality of acoustic wave blocks comprising a pluralityof signaling wave blocks and a plurality of body wave blocks, eachacoustic wave block comprising a unique fingerprint, each fingerprintcomprising a set of unique acoustic wave pattern featuresdistinguishable from the unique acoustic wave pattern features of otheracoustic wave blocks in the plurality of acoustic wave blocks; at theacoustic wave tag generating device, extracting the unique fingerprintsof the plurality of acoustic wave blocks; storing the uniquefingerprints of each of the plurality of acoustic wave blocks; at theacoustic wave tag generating device, receiving a request from therequestor for a plurality of acoustic wave tags to identify a pluralityof corresponding data items; assigning a plurality of acoustic wave tagsto the requestor, each acoustic wave tag comprising (i) a signaling waveblock assigned to, and uniquely identifying, said requestor and (ii) aset of one or more body wave blocks, wherein each data item in theplurality of data items is uniquely identified by the set of body waveblocks of the corresponding acoustic wave tag; storing a mapping of theassigned signaling wave block to the requestor; storing a mapping ofeach set of body wave blocks to the corresponding data items;broadcasting the signaling wave block and the set of body wave blocks ofone of the acoustic wave tags in the plurality of the acoustic wave tagsassigned to said requestor; at a capturing device, capturing thebroadcasted signaling wave block and the set of body wave blocks;extracting the unique fingerprints of the captured signaling wave blockand the captured set of body wave blocks; identifying the capturedsignaling wave block and the captured set of body wave blocks bycomparing the extracted unique fingerprints of the captured signalingwave block and the captured set of body wave blocks with the storedunique fingerprints of the plurality of acoustic wave blocks;identifying the requestor by comparing the identified signaling waveblock with the stored mapping of the assigned signaling wave block tothe requestor; and identifying the data item from the stored mapping ofthe set of body wave blocks to the corresponding data items.
 20. Themethod of claim 19 further comprising, for at least one or moresignaling wave blocks in the plurality of signaling wave blocks, storinga set of one or more actions corresponding to the acoustic wave tag thatcorresponds to the signaling block.